Android “NetworkOnMainThreadException”出错原因及解决办法_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android “NetworkOnMainThreadException”出错原因及解决办法

Android “NetworkOnMainThreadException”出错原因及解决办法

 2014/12/8 17:55:29  jiduoduo  程序员俱乐部  我要评论(0)
  • 摘要:原因:不允许在主线程中通讯方法1:当然也可以,这样去处理:StrictMode.setThreadPolicy(newStrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork()//or.detectAll()foralldetectableproblems.penaltyLog().build());StrictMode.setVmPolicy(newStrictMode
  • 标签:android 解决办法 解决 thread net 原因

原因: 不允许在主线程中通讯

方法1:当然也可以,这样去处理:

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

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

这样就不用放在一个线程中执行。
方法2:(没有测试)

new Thread(){
   @Override
   public void run()
   {
     //网络访问
   }
}.start();

 

上一篇: 为在Windows Azure上的网站配置自定义域名 下一篇: 没有下一篇了!
发表评论
用户名: 匿名