Android.os.NetworkOnMainThreadException

android.os.NetworkOnMainThreadException

网络请求不能在主线程,修改如下:

import   android.os.Handler;


@Override

protected void  onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

newThread(networkTask).start();

}

Handlerhandler=newHandler() {

@Override

public voidhandleMessage(Message msg) {

super.handleMessage(msg);

Bundle data = msg.getData();

String val = data.getString("value");

Log.i("mylog","请求结果为-->"+ val);

//TODO

// UI界面的更新等相关操作

}

};

/**

* 网络操作相关的子线程

*/

RunnablenetworkTask=newRunnable() {

@Override

public voidrun() {

// 在这里进行 http request.网络请求相关操作

Message msg =newMessage();

Bundle data =newBundle();

data.putString("value","请求结果");

msg.setData(data);

handler.sendMessage(msg);

}

};

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容