android.os.NetworkOnMainThreadException

来源:互联网 发布:怒战手游翅膀升级数据 编辑:程序博客网 时间:2024/06/09 23:49

   实现“android网络编程一“里面的实例时,发现运行根本没有结果,后台在报错。


http://geeksun.iteye.com/blog/1447708

在android 2.3上设计的下载程序,在android 4.0上运行时报android.os.NetworkOnMainThreadException异常,原来在4.0中,访问网络不能在主程序中进行,有两个方法可以解决,一个是在主程序中增加:

        // 详见StrictMode文档        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());

另一种是启动线程执行下载任务:

      public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);        setContentView(R.layout.main);        // 启动线程执行下载任务        new Thread(downloadRun).start();    }        /**     * 下载线程     */    Runnable downloadRun = new Runnable(){@Overridepublic void run() {// TODO Auto-generated method stubupdateListView();}    };


原创粉丝点击