Handler是Android的消息机制,是线程间的消息通信方式,下面用代码简单地演示Handler如何实现主线程与子线程之间的通信:
第一步:新建一个MThread继承Thread,当然也可以直接使用Thread:
public class MThread extends Thread {
Handler handler=new Handler();
/**
* 构造函数
* */
public MThread(Handler h){
this.handler=h;
}
@Override
public void run() {
Message message=new Message();
Bundle b=new Bundle();
b.putString("msg","hello lonikitave");
message.setData(b);
handler.sendMessage(message);
super.run();
}
}
大家只需要在run()里边写好要发送的数据进行封装即可;
第二步,在Activity里边将MThread进行实例化:
public class MainActivity extends AppCompatActivity {
android.os.Handler handler=new android.os.Handler(){
@Override
public void handleMessage(Message msg) {
System.out.println("\n收到:"+msg.getData().getString("msg"));
super.handleMessage(msg);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TestHandler();
}
public void TestHandler(){
MThread mThread=new MThread(handler);
mThread.start();
}
}
运行结果:
嗯,写这篇博客就是为了以最小的篇幅让读者入门Handler的使用。