Handler寫在主執行緒中,使用Message傳遞訊息
阿新 • • 發佈:2019-02-12
Runnable是一個介面,Thread是Runnable的子類。
- Message
Message 是線上程之間傳遞的訊息,它可以在內部攜帶少量的資訊,用於在不同執行緒之間交換資料。 - Handler
Handler處理者,它主要是用於傳送和處理訊息的。傳送訊息一般是使用 Handler 的 sendMessage()方法,而發出的訊息經過一系列地輾轉處理後,最終會傳遞到 Handler 的 handleMessage()方法中。
//在主執行緒中建立一個Handler
Handler handler=new Handler(){
@Override
//處理訊息
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case 0x123:
break;
}
}
};
//向Hanlder傳送空訊息
handler.sendEmptyMessage(0x123);
//使用Message傳遞資訊給Handler
//也可用靜態方法獲取Message物件,Message .obtain();
Message message = new Message();
//設定what欄位
message.what =0x123;
//傳送一個包含資料Message物件
andler.sendMessage(message);