[Android]NetworkOnMainThreadException解决办法

从 android 2.3 之后已经限制无法在主线程中使用网络抓取数据

会出现 NetworkOnMainThreadException

从 android 2.3 之后已经限制无法在主线程中使用网络抓取数据

会出现?NetworkOnMainThreadException

如果要使用网络抓数据就必须得要自己开一条线程才行

解决方法就是把网络传输的部分另外开线程去执行

另外一个方法就是在?onCreate 下加入

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()

.detectDiskReads()

.detectDiskWrites()

.detectNetwork()

.penaltyLog()

.build());

顺便把SQLLite开一开吧

StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()

.detectLeakedSqlLiteObjects()

.penaltyLog()

.penaltyDeath()

.build());

我经营的论坛:?台论之星

尘世中一位载浮载沉之小小工程师

[email protected]

原文:大专栏  [Android]NetworkOnMainThreadException解决办法

原文地址:https://www.cnblogs.com/petewell/p/11526618.html

时间: 2024-08-29 17:23:50

[Android]NetworkOnMainThreadException解决办法的相关文章

android.os.NetworkOnMainThreadException 解决办法:

产生的原因: 在4.0之后在主线程里面执行Http请求都会报这个错,也许是怕Http请求时间太长造成程序假死的情况 解决办法: 1.在发起Http请求的Activity里面的onCreate函数里面添加如下代码 StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());    

Android 64K解决办法

本文中采用的方式是官方提供的,官方链接为: http://developer.android.com/intl/zh-cn/tools/building/multidex.html 64K问题比较麻烦,但是官方解决办法其实也比较简单,本文开发环境是as下,eclipse的建议转到as吧. APP环境: 百川IM+趣拍.由于趣拍支持android最低版本为4.0.3,即API为15.实际上现在包括支付宝.微信这些APP支持版本也为4.0.3. 所以觉得如果APP没太大问题的话建议开发环境最低为4.

android硬件调试之无法识别android设备解决办法

DDMS 中无法识别华为荣耀六手机,  用豌豆荚开始显示无法连接,  用豌豆荚安装完驱动后,就可以连接了 http://www.zhihu.com/question/30588024 http://www.2cto.com/kf/201208/149077.html

Please select Android SDK解决办法

项目不能运行,提示如下  打开项目local.properties文件,查看sdk地址是否正确,注意区分大小写  如果sdk地址正确,那么点击File-Sync Project with gradle files即可  原文地址:https://www.cnblogs.com/yelanggu/p/9599186.html

Android SDK更新以及ADT更新出现问题的解决办法(转载)

转自:http://zyueqi.iteye.com/blog/1474323 问题描述 使用SDK Manager更新时出现问题Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-6.xml, reason: Connection to https://dl-ssl.google.com refusedFailed to fetch URL http://dl-ssl.google.com/an

Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法

http://blog.csdn.net/aminfo/article/details/7903112 几乎每天都在论坛里面看到有网友问这个问题,代码是无误的,在低版本的API上都可以运行的,但在3.0以上的版本就会出现NetworkOnMainThreadException 出现Android.os.NetworkOnMainThreadException错误提示的原因 原因:不允许在主线程中进行网络访问 解决办法:将网络访问的操作单独放到一个线程中,代码如下: [java] view pla

Caused by: android.os.NetworkOnMainThreadException错误解决办法

错误Caused by: android.os.NetworkOnMainThreadException :查了下原因上在4.0之后在主线程里面执行Http请求都会报这个错,大概是怕Http请求时间太长造成程序假死的情况吧. 解决办法有两个思路,分别是: 第一种方法:直接忽视,强制使用(强烈不推荐,但是修改简单)在MainActivity文件的setContentView(R.layout.activity_main)下面加上如下代码 if (android.os.Build.VERSION.S

Android Eclipse工程开发中的常见调试问题(二)android.os.NetworkOnMainThreadException 异常的解决办法

android.os.NetworkOnMainThreadException 异常的解决办法, 刚开是把HttpURLConnectionnection 打开连接这个方法放在UI线程里了,可能不是线程安全的,而且这个方法请求是需要等待的,所以就抛出了这个异常,后来用子线程打开的HttpURLConnection, 一切就都正常了,只要在主线程里开启子线程就行了.子线程利用URL 问题解决.下面贴一段代码 String file1 = SERVER_PATH; URL url = new URL

Android主线程不能访问网络异常解决办法

从两个方面说下这个问题: 1. 不让访问网络的原因 2. 解决该问题的办法 不让访问网络的原因: 由于对于网络状况的不可预见性,很有可能在网络访问的时候造成阻塞,那么这样一来我们的主线程UI线程 就会出现假死的现象,产生很不好的用户体验.所以,默认的情况下如果直接在主线程中访问就报出了这个异常,名字是NetworkOnMainThreadException 解决该问题的办法 1. 独立线程 2. 异步线程AsyncTask 3. StrictMode修改默认的策略 1) 独立线程的办法 启动一个