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();oop
MyHandler 繼承Handler
{
//當前的handler使用Looper所在的線程處理隊列,即把該handler綁定到另外的Looper中
構造函數(Looper looper){
super(looper)
}
實現handlerMessage方法
}線程
到此才真正實現了一步處理消息的功能對象
Message中傳遞消息:
一、傳遞簡單的參數
msg.arg1 = "字符串";
msg.sendToTarget();
在handlerMessage中使用
String s = (String)msg.arg1;取出
二、使用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");繼承