Android之android.os.NetworkOnMainThreadException异常解决

最近一直在做即时通讯,刚开始遇到一个问题,log打印出来的就是android.os.NetworkOnMainThreadException,大概的意思就是在主线程操作网络,以前都没注意过这个问题,也是第一次遇到!以前都是用AsyncTask,简单,快捷,还可以直接操作UI,我就是一个找虐的人,这次偏不这么做了,直接用handler,于是乎就遇到了这个问题.

Android 4.0以后不允许网络操作在主线程中进行,那就用异步方法来操作

简单贴一下代码:

new Thread(new Runnable() {
			
			@Override
			public void run() {
				login();
				Message message=Message.obtain();
				handler.sendMessage(message);
			}
		}).start();

private Handler handler=new Handler(){
		public void handleMessage(android.os.Message msg) {
			text.setText("登陆成功");
		};
	};

当然你也可以直接使用AsyncTask

你可能感兴趣的:(Android疑难杂症)