Android3.0版本以上出现android.os.NetworkOnMainThreadException异常与处理方式

http://www.cnblogs.com/awenhome/archive/2012/01/04/2311659.html

以前用2.2 访问WebService没有问题,到3.0上访问出现android.os.NetworkOnMainThreadException

找了资料经过实践,解决方法如下:

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());

PS:1.在2.3版本以后加入了StrictMode类,而在3.0在网络上能感觉到有更加严格的限制,更多的查询API上的StrictMode ;
      2.使用的时候只需要在你项目运行的入口Activity的OnCreate中放入这段代码,那么整个项目程序都有用。不需要每个Activity里面加入。
      3.StrictMode类一般是用来调试的,在程序运行中会打印很多消息,那是告诉你你的项目程序需要改进的地方。在Android项目中,最好的是让界面与后台装载程序分开来。总之,如果你的程序代码非常符合Android规范要求,那么你完全可以不使用上面的代码

时间: 2024-10-01 10:09:43

Android3.0版本以上出现android.os.NetworkOnMainThreadException异常与处理方式的相关文章

networking-出现android.os.NetworkOnMainThreadException异常

问题描述 出现android.os.NetworkOnMainThreadException异常 当我运行我的android工程时,下边的代码中我得到了一个错误 URL url= new URL(urlToRssFeed); SAXParserFactory factory =SAXParserFactory.newInstance(); SAXParser parser=factory.newSAXParser(); XMLReader xmlreader=parser.getXMLReade

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

好久不写Android代码手都生了,找出自己之前写的程序发现跑不了了,也没啥特别的错误提示,就看到一句有用的错误Caused by: android.os.NetworkOnMainThreadException,查了下原因上在4.0之后在主线程里面执行Http请求都会报这个错,大概是怕Http请求时间太长造成程序假死的情况吧. 解决办法有两个思路,分别是: 第一种方法:直接忽视,强制使用(强烈不推荐,但是修改简单) 在MainActivity文件的setContentView(R.layout

android.os.NetworkOnMainThreadException

问题描述 android.os.NetworkOnMainThreadException package com.demo.clientdemo; import java.io.IOException;import java.io.InputStream; import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.H

Android3.0 ActionBar导航标题栏使用解析

先看图: [1]是ActionBar的图标,[2]是两个action按钮,[3]是overflow按钮. 介绍: Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用户动作.界面导航等功能.使用ActionBar的好处是,它可以给提供一种全局统一的UI界面,使得用户在使用任何一款软件时都懂得该如何操作,并且ActionBar还可以自动适应各种不同大小的屏幕. 添加ActionBar 1.不需要导入Acti

变身小清新 LBE安全大师4.0版本正式发布

科技为先,技术为王.近日,LBE安全大师发布了4.0正式版本,新版本对LBE安全大师的独门秘技主动防御技术进行了升级,使其能够支持Android4.1.1系统,而全新的通知栏快捷方式更让用户无需进入软甲页面即可进行便捷操作.值得注意的是,LBE4.0新版本不仅将防护技术做到了极致, 重新设计的界面也让 人眼前一亮,简约实用的清新风格使得LBE安全大师4.0版本更便于使用.新UI 新体验现今各种应用程序都将用户体验作为软件开发阶段的首要考虑因素.LBE安全大师4.0版本的UI设计显然顺应了这一潮流

Android微信支付3.0版本

问题描述 Android微信支付3.0版本 根据开发文档以及网上给的demo总是调不通,apk也是打包签名了的!客户端自己实现第一次签名和第二次签名总是支付结果总是-1,我也是无能为力了!求大神指点 解决方案 android微信支付android 微信支付android微信支付 解决方案二: http://download.csdn.net/detail/baidu_17508977/8521101 解决方案三: 可以看下 Ping++ Android 支付接口:https://www.ping

Firefox OS模拟器4.0版本带来开发者应用收益测试

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   今天Mozilla如约放出了Firefox OS模拟器4.0版本,本次更新主要针对那些希望通过Firefox 应用市场来赚钱的 开发者提供各种后期测试.目前开发者能够通过 Windows/Mac/Linux上的通过Firefox浏览器扩展的方式进行安装,安装之后能够通过工具=> 网页开发菜单进行激活. 新的模拟器带来了付费应用支持 后期收益测试,在 开发者

android-百度地图开发,在5.0版本上运行,出现一下错误,低版本上运行是正常的。。。

问题描述 百度地图开发,在5.0版本上运行,出现一下错误,低版本上运行是正常的... 04-23 15:09:24.229: D/AndroidRuntime(19314): Shutting down VM 04-23 15:09:24.229: E/AndroidRuntime(19314): FATAL EXCEPTION: main 04-23 15:09:24.229: E/AndroidRuntime(19314): Process: com.nbv.map.sdk, PID: 19

《Android应用开发攻略》——1.15 程序:Android OS下的小费计算器Tipster

1.15 程序:Android OS下的小费计算器Tipster Sunit Katkar1.15.1 问题 当你和朋友前往饭店就餐并且希望计算各自的账单和小费时,可能陷入许多手动计算和分歧之中.你希望使用一个应用程序,简单地将小费比例加到总额上,并且按照就餐人数分配.Tipster就是Android中的一个实现,用它展示一个完整的应用程序.1.15.2 解决方案 这是一个简单的练习,使用Android中的基本GUI元素,然后用一些简单的计算和事件驱动UI代码将它们组合起来.将用到如下GUI组件