2014年8月11日 星期一

[Android] 解決NetworkOnMainThreadException問題

雖然網路上文章滿多的,但還是紀錄一下以免忘記。

會有這個問題產生主要是在Android 4.0版本以上才會出現,確切原因不清楚,但應該是增加安全

性理由所以才修改成這樣的(?)

這問題就是如同字面上意思:

你在主線程上面呼叫Network類相關API

這時候該如何解決呢??

1)使用分流法(開個新的Thread)來操作網路,但如果我就是要調整並顯示UI介面呢?

2)在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);
       }

即可解決該問題

沒有留言:

張貼留言