很抱歉,你没有提供任何需要重构的内容。请提供详细信息,以便我能够帮助你完成这个任务。
```java
package com.lilin.looper;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
/**
* 使用Looper来处理消息队列
*
* @author lilin
* @date 2011-8-10 上午09:03:32
* @ClassName: HandlerThreadDemo
* @Description: TODO
*/
public class HandlerThreadDemo extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.out.println("当前Activity的ID--->" + Thread.currentThread().getId());
HandlerThread handlerThread = new HandlerThread("handler_thread"); // 生成一个HandlerThread对象,实现了使用Looper来处理消息队列的功能,这个类由Android应用程序框架提供
handlerThread.start();// 在使用HandlerThread的getLooper()方法之前,必须先调用该类的start();
MyHandler myHandler = new MyHandler(handlerThread.getLooper());
Message msg = myHandler.obtainMessage();
Bundle b = new Bundle();
b.putInt("age", 20);
b.putString("name", "Jhon");
msg.setData(b);// 将数据存放到Message中
msg.sendToTarget();// 将msg发送到目标对象,所谓的目标对象,就是生成该msg对象的handler对象
}
}
class MyHandler extends Handler {
public MyHandler() {
}
public MyHandler(Looper looper) {
super(looper);
}
@Override
public void handleMessage(Message msg) {
Bundle b = msg.getData();// 从Message中获得数据 int age = b.getInt("age"); String name = b.getString("name");
System.out.println("age is " + age + ", name is " + name);
System.out.println("Handler的ID--->" + Thread.currentThread().getId()); } }
}
```
很抱歉,我不太明白您的问题。您能否提供更多信息或者重新表述一下您的问题?这样我才能更好地回答您。谢谢。