主要解决的问题进行网络请求数据时,根据请求到的数据进行ui上面的一些操作
思路分析
一般情况下网络请求都是使用的异步请求的方式,而ui的一些操作只能在主线程中进行更改,
所以 当请求成功的时候 ,子线程需要往主线程中发送一个message就可以通知主线程进行操作
代码
activity中定义一个Handler 里面的handleMessage方法是用来接收消息的
handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case 1:
//login
Log.d("msg","login "+msg.obj.toString());
break;
case 2:
Log.d("msg","register "+msg.obj.toString());
break;
}
}
};
子线程中 进行发送消息的代码
Message msg=new Message();
msg.what=2;
msg.obj=true;//Object类型 这里面放你想传递的消息就可以
handler.sendMessage(msg);
特别注意的一点
handler 必须是同一个