handler 、looper、messageque的关系在前面已经有个介绍,但前面handler(1)中handler的使用是极少的一种情况,因为handler.sendMessage()可以在MainThread中发送,也可以在WorkThread向MainThread中发送,都是可以的。。但handler主要用在WorkerThread通过message这种机制,来更新MainThread中的UI组件
Handler handler;
MainActivity extends Activity{
private void onCreat(***){
handler = new Handler(){
private void handlerMessage(Message msg){
textView.setText(msg.obj);
}
}
}
class MyThread extends Thread(){
private void run(){
Thread.sleep(2000);
Message msg = handler.obtinMessage();
msg.what = "new Mesg";
handler.sendMessage(msg);
}
}
}
这里实现了workThread更新UI组件的机制,消息传递方向是子线程到主线程【下一节介绍主线程到子线程的消息发送】