1.android主线程里边有网络请求,报错,原因是android4.0以后不允许在主线程中访问网络。也是是因为版本问题,在4.0之后在主线程里面执行Http请求都会报这个错,也许是怕Http请求时间太长造成程序假死的情况吧(这句为借鉴)
android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork
解决方法:
启用另外一条线程来执行网络的请求。
例如在 oncreate函数中创建一条新的线程:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.share_mblog_view); new Thread(runnable).start(); }
Runnable runnable = new Runnable(){ @Override public void run() { // // TODO: http request. //
upload(file); } }