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请求

详细参考:http://www.cnblogs.com/sjrhero/articles/2606833.html

posted @ 2013-02-02 16:58  Merray  Views(210)  Comments(0Edit  收藏  举报