/System.err(16258): android.os.NetworkOnMainThreadException报错
来源:互联网 发布:linux cp 命令用法 编辑:程序博客网 时间:2024/06/03 17:21
今天遇到一个很让人郁闷的事情,这也就是程序员的必经之路吧。在用get请求网络的时候,提示System.err(16258): android.os.NetworkOnMainThreadException.
当时我看都没看log, 就检查了代码,发现就那么几句话,怎么可能出现错误呢? 然后进入log中,看了下是这个错误:System.err(16258):android.os.NetworkOnMainThreadException。断点查看的时候,发现是httpclient.execute(httpRequest)执行的时候报的错误。奇怪,怎么能报这样的错误呢? 然后就在网上找答案,网上的解决方法是:
通过修改版本号解决:
android:minSdkVersion="3"
android:targetSdkVersion="8"
我的解决想法和思路:
1. 把版本号修改低之后确实能解决问题,但有些控件等都不能使用,这绝对不是最佳的最佳的解决方案。肯定没有找到问题的关键。
2. 带着上面的问题,我继续寻找解决方案,最后发现我使用的代码在以前的项目中都没问题的,但是在新版本的android 系统上就有问题了。这肯定和系统代码有关系。最后也没去看系统代码,最后网上找到解决方法,就是在android4.0以后,像这个请求网络的代码,必须新起一个线程去操作,不能在主线程中请求网络。
3. 所以,最好的解决方案就是新启动线程,请求网络。
总结:
当我们编程时候,肯定会遇到这样或者那样的问题。首先,不要急躁,定下心来去分析,用逻辑的思路去寻找解决的方案。同时也要借助于一切能够借用的力量去寻找答案,比如网上查找,请教他人,等等。在得到解决方案之后,也要多加思考,做些总结。
备注:
也许这个问题解决方法对很多程序员来说,都是知道的。共同学习交流吧,谢谢!!
- /System.err(16258): android.os.NetworkOnMainThreadException报错
- System.err﹕ android.os.NetworkOnMainThreadException
- W/System.err(1437): android.os.NetworkOnMainThreadException
- 报错android.os.NetworkOnMainThreadException
- Android 报错 android.os.NetworkOnMainThreadException
- Android Socket编程报错android.os.NetworkOnMainThreadException
- Android Socket编程报错android.os.NetworkOnMainThreadException
- android调用httpclient.excute报android.os.NetworkOnMainThreadException 异常处理
- android.os.NetworkOnMainThreadException问题
- android.os.NetworkOnMainThreadException问题
- android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException异常
- 关于android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException
- [Objective-C] 02.Objective-C语法基础2
- interface在大型项目中的使用心得
- android学习之GridLayout
- [Objective-C] 03.OC中的继承和初始化方法
- 【学渣的奋斗之路】【汇编语言】 1.1~1.10
- /System.err(16258): android.os.NetworkOnMainThreadException报错
- 群活动
- [Objective-C] 04.Foundation框架基本类库
- IOS开发---C语言-⑭局部变量、全局变量
- Android自定义TextView中的超链接点击事件处理
- 适用于iOS开发者的Android开发技巧
- Lucene的学习
- 想法、方法和做法
- metasploit渗透测试学习笔记(二)