Caused by: android.os.NetworkOnMainThreadException错误解决办法
2015-07-09 10:28
609 查看
这篇文章主要介绍了Caused by: android.os.NetworkOnMainThreadException错误解决办法,本文提供了2种解决方法,需要的朋友可以参考下
好久不写Android代码手都生了,找出自己之前写的程序发现跑不了了,也没啥特别的错误提示,就看到一句有用的错误Caused by: android.os.NetworkOnMainThreadException,查了下原因上在4.0之后在主线程里面执行Http请求都会报这个错,大概是怕Http请求时间太长造成程序假死的情况吧。
解决办法有两个思路,分别是:
第一种方法:直接忽视,强制使用(强烈不推荐,但是修改简单)
在MainActivity文件的setContentView(R.layout.activity_main)下面加上如下代码
?
第二种方法:使用Thread、Runnable、Handler (推荐使用)
在Runnable中做HTTP请求,不用阻塞UI线程~
?
附:另一篇解决方案
Android 4.1项目:使用新浪微博分享时报:
android.os.NetworkOnMainThreadException
网上搜索后知道是因为版本问题,在4.0之后在主线程里面执行Http请求都会报这个错,也许是怕Http请求时间太长造成程序假死的情况吧。那么网上的朋友也给出了相应的解决方案,这叫上有政策下有对策:
一:在发起Http请求的Activity里面的onCreate函数里面添加如下代码:
?
如果正在做的项目不是Android 4.0的是看不到StrictMode类的。我也是用的网上给的com_weibo_android.jar。但是这个jar包下载下来的时候是2.3的,要先转换成Android 4.0的项目,再在分享对应的ShareActivity的onCreate()函数中添加上面的两行代码。这样就不会报这个错误了。
二:使用Thread、Runnable、Handler这三个类:
?
好久不写Android代码手都生了,找出自己之前写的程序发现跑不了了,也没啥特别的错误提示,就看到一句有用的错误Caused by: android.os.NetworkOnMainThreadException,查了下原因上在4.0之后在主线程里面执行Http请求都会报这个错,大概是怕Http请求时间太长造成程序假死的情况吧。
解决办法有两个思路,分别是:
第一种方法:直接忽视,强制使用(强烈不推荐,但是修改简单)
在MainActivity文件的setContentView(R.layout.activity_main)下面加上如下代码
?
在Runnable中做HTTP请求,不用阻塞UI线程~
?
Android 4.1项目:使用新浪微博分享时报:
android.os.NetworkOnMainThreadException
网上搜索后知道是因为版本问题,在4.0之后在主线程里面执行Http请求都会报这个错,也许是怕Http请求时间太长造成程序假死的情况吧。那么网上的朋友也给出了相应的解决方案,这叫上有政策下有对策:
一:在发起Http请求的Activity里面的onCreate函数里面添加如下代码:
?
二:使用Thread、Runnable、Handler这三个类:
?
相关文章推荐
- Android批量图片加载经典系列——afinal框架实现图片的异步缓存加载
- Android入门(40)——第二章 使用LogCat方式调试程序
- 在Android Studio 和 Eclipse 的 git 插件操作 "代码提交"以及"代码冲突"
- Android Studio 发生 Couldn't load jpush175 from loader dalvik.system.PathClassLoader 异常
- android避免decodeResource图片时占用太大的内存
- Android之ContentProvider总结
- Android基础类之BaseAdapter
- 制作Android手机开机动画的详细过程
- android 更新实现自己主动
- AndroidManifest.xml 详解
- Caused by: java.lang.NoSuchMethodException: <init> [class android.content.Context, interface androi
- Android NDK(JNI)开发
- Android手势操作
- android菜鸟学习笔记18----Android数据存储(二)SharedPreferences
- android几种存储方式理解心得,
- Android入门(39)——第一章 使用Debug方式调试程序
- Android性能优化--开篇
- 第一个Android程序 -- HelloAndroid
- Android(java)学习笔记121:android.intent.action.MAIN 与 android.intent.category.LAUNCHER 理解
- ThinkAndroid框架——源码分享