在android中下载文件,写好下载文件的代码后需要配置相应的权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

按原则来说这样就应该可以正常下载了,但是在android4.2 模拟器上运行(貌似4.0以上的模拟器都有这个问题) 获取流getInputStream时总是报错。百思不得其解,经百度得知添加一行代码即可,至于为什么还要再以后的学习中慢慢了解。

在这里先做个记录。

在.java文件中添加

  

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());

即可。

PS:刚从群里高手得知,是因为我联网的代码写在了主线程里,从android 4.0以后就不允许这样操作了,因为如果在主线程里联网,如果网络不好那么整个程序就卡死在那里了。所以android4.0以后对要联网的代码必须在新开一个线程来做。

更多相关文章

  1. Android studio 3.1.3 无法获取pom文件
  2. android各个文件分析
  3. Android多国语言文件夹命名
  4. Android移动操作系统源代码
  5. Android 自动编译、打包生成apk文件 4 - 多渠道批量打包

随机推荐

  1. android EditText控件如何禁止往里面输入
  2. MPAndroidChart 教程:动画 Animations(十)
  3. AS插件之Android(安卓)Drawable Importer
  4. android 在当前的布局上加载xml填充内部
  5. Android(安卓)Fragment与activity交互方
  6. Android小知识积累 --每天进步一点点
  7. android 模糊查找,并标红关键字实现
  8. Android(安卓)View坐标系
  9. Android(安卓)Fragment白页解决方案
  10. Android媒体扫描详细解析之二(MediaScann