zoukankan      html  css  js  c++  java
  • android.os.NetworkOnMainThreadException解决

    很早就知道Android4.0以后,要把耗时的网络操作放在多线程中,处理方法有:

    1)

    setContentView(R.layout.activity_main)下面加上如下代码

    if (android.os.Build.VERSION.SDK_INT > 9) {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
    }

    2)大多数人还是比较喜欢这种方式(new thread + handler)

      onCreate(){

       new Thread(runnable).start();

       }

      Runnable runnable = new Runnable(){

       //重写run方法,把网络耗时操作移步到此,把网络获取的data放在Message

       然后通过handler.sendMessage(msg)

     }

       Handler handler = new Handler(){

        //重写handleMessage方法,把网络数据更新到UI上即可

       }

    今天傻傻的按照第二种方法做,结果,还是抱同样的异常,连续换了N种写法,最后,惭愧,我竟然把网络操作放在handler方法中,好笨。

  • 相关阅读:
    2020年12月2日
    2020年12月1日
    2020年11月30日
    2020年11月29日
    2020年11月28日
    2020年11月27日
    2020年11月26日
    2020年11月25日
    浅谈扩展欧几里得算法
    Hello 2020
  • 原文地址:https://www.cnblogs.com/jiuzhexingfu/p/3465725.html
Copyright © 2011-2022 走看看