andlerThread类实现了Looper的循环处理消息的功能
HandlerThread handlerThread = new HandlerTread("handler_thread");
//使用HandlerThread的getLooper方法之前必须先调用start方法
handlerThread.start();
//取出handlerThread中的Looper并绑定到当前的Handler对象中,使得HandlerThread类使用Looper的循环处理消息的功能
MyHandler myHandler = new MyHandler(handlerThread.getLooper());
Message msg = myHandler.obtainMessage();
//message对象发送给生成该message对象的Handler,即发送给myHandler
msg.sendToTarget();
MyHandler 继承Handler
{
//当前的handler使用Looper所在的线程处理队列,即把该handler绑定到另外的Looper中
构造函数(Looper looper){
super(looper)
}
实现handlerMessage方法
}
到此才真正实现了一步处理消息的功能
Message中传递消息:
1、传递简单的参数
msg.arg1 = "字符串";
msg.sendToTarget();
在handlerMessage中使用
String s = (String)msg.arg1;取出
2、使用Bundler传递数据
Bandler bandler = new Bandler();
bandler.putInt("键值1",int类型数据);
bandler.putString("键值2",String类型数据);
msg.setData(bandler);
msg.sendToTarget();
在handlerMessage中使用
Bundler b = msg.getData();取出Bundler对象
int i = b.getInt("键值1");String s = b.getString("键值2");