Androidメッセージメカニズムの4---Looper,Handler,Message例
1786 ワード
Android ---Looper,Handler,Message
Message,Handler,Looper 。
Looper ;
public class LooperThread extends Thread{
public LooperThread(){
}
@Override
public void run() {
// Looper
Looper.prepare();
/*
, Handler( MessageQueue)
*/
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case 0:
System.out.println("Looper Thread:" + msg.arg1);
break;
}
}
};
new Thread(new WorkThread(handler)).start();
//
Looper.loop();
}
}
Workスレッドの作成
public class WorkThread implements Runnable{
private Handler handler = null;
public WorkThread(Handler handler){
this.handler = handler;
System.out.println("work thread start");
}
@Override
public void run() {
for(int i = 0; i < 20; i++){
if(i % 2 == 0){
// Message msg = Message.obtain();
// msg.what = 0;
// msg.arg1 = i;
Message msg = Message.obtain(handler, 0, i, 0);
handler.sendMessage(msg);
} else{
System.out.println("Work Thread:" + i);
}
}
}
}