异常:android.os.NetworkOnMainThreadException
参考:http://hi.baidu.com/shangsong2009/item/7a5b9dfefb2caa5bc8f337fb
最近在学习android开发的视频,做到一个文件下载的程序。
下载网络上的数据时报出异常android.os.NetworkOnMainThreadException。
原来在android4.0以上的版本访问网络不能在主程序中进行,解决方法有2种,如下
(1)在主程序中增加以下代码
- // 详见StrictMode文档
- StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
- .detectDiskReads()
- .detectDiskWrites()
- .detectNetwork() // or .detectAll() for all detectable problems
- .penaltyLog()
- .build());
- StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
- .detectLeakedSqlLiteObjects()
- .detectLeakedClosableObjects()
- .penaltyLog()
- .penaltyDeath()
- .build());
(2)启动新线程执行下载任务。