Android 开发笔记——SDK3.0以上运行2.*时web请求错误
开发环境Android SDK2.3.3 +AVT 2.20-4.0 测试
发现在3.0以下的可以正常运行 3.0以上运行时出现错误,跟踪发现是通过Http访问web服务出现错误,错误信息android.os.NetworkOnMainThreadException
原来在3.0以上默认限制直接在线程中进行Http请求
解决方案
一、
Acitivity的onCreat方法中增加如下代码
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath().build());
二、
新建线程 在子线程中处理http请求