handle Message 的用法

来源:互联网 发布:开网店买什么软件好 编辑:程序博客网 时间:2024/04/29 01:02
import java.util.Timer;import java.util.TimerTask;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Looper;import android.os.Message;import android.util.Log;public class HandleTest extends Activity {private static final String TAG = "MainThread";private Timer timer;private TimerTask timerTask;private Handler mMainHandle, mChildHandle;private int i = 0;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);timer = new Timer();timerTask = new MyTimerTask();mMainHandle = new Handler() {public void handleMessage(Message msg) {Log.e("mainhandle", i + "");System.out.println("receive a message !");}};new ChildThread().start();timer.schedule(timerTask, 0, 5000);}public class MyTimerTask extends TimerTask {public void run() {if (mChildHandle != null) {Message childMsg = mChildHandle.obtainMessage();mChildHandle.sendMessage(childMsg);Log.e("thread", i + "");}}}public void onDestroy() {Log.i(TAG, "stop looping the child threads message queue");mChildHandle.getLooper().quit();}class ChildThread extends Thread {public void run() {Looper.prepare();mChildHandle = new Handler() {public void handleMessage(Message msg) {Log.i("child", "11111111");i++;Message toMain = mMainHandle.obtainMessage();toMain.obj = this.getLooper().getThread().getName() + i;mMainHandle.sendMessage(toMain);System.out.println("send a message !");Log.i("i=", i + "");}};Looper.loop();}}} 


1 0
原创粉丝点击