HandlerThread

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");繼承

相關文章
相關標籤/搜索