方法一:
- package com.h3c.test;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Looper;
- import android.os.Message;
- import android.util.Log;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- public class HandlerTestActivity extends Activity {
- Button btn;
- Handler mHandler;
- LooperThread thread;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- btn = (Button) findViewById(R.id.btn);
- thread = new LooperThread();
- thread.start();
- btn.setOnClickListener(new OnClickListener() {
- public void onClick(View arg0) {
- Log.e("H3c", mHandler + "==");
- if (mHandler != null) {
- mHandler.sendEmptyMessage(6);
- }
- }
- });
- }
- class LooperThread extends Thread {
- @Override
- public void run() {
- super.run();
- Looper.prepare();
- mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- Log.e("H3c", msg.what + "=");
- }
- };
- Looper.loop();
- }
- }
- }
方法二:
- package com.h3c.test;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.HandlerThread;
- import android.os.Looper;
- import android.os.Message;
- import android.util.Log;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- public class HandlerTestActivity extends Activity {
- Button btn;
- MyHandler mHandler;
- HandlerThread thread;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- btn = (Button) findViewById(R.id.btn);
- thread = new HandlerThread("test_h3c");
- thread.start();
- mHandler = new MyHandler(thread.getLooper());
- Log.e("H3c", "1:" + Thread.currentThread().getName());
- btn.setOnClickListener(new OnClickListener() {
- public void onClick(View arg0) {
- mHandler.sendEmptyMessage(4);
- }
- });
- }
- class MyHandler extends Handler {
- public MyHandler(Looper looper) {
- super(looper);
- }
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- Log.e("H3c", Thread.currentThread().getName() + "=" + msg.what);
- }
- }
- }