Handler()的常见使用
Handler是Android系统中很重要的一个类,主要用于线程间通信,它可以创建一个消息队列,然后依次处理这些信息。
Handler的常见使用包括:
1. 在子线程中发送消息: 你可以在子线程中创建一个Message对象,然后使用Handler的sendMessage()方法发送这个消息。这个消息会被添加到主线程的消息队列中,然后依次被处理。
new Thread(new Runnable() {
public void run() {
Message message = new Message();
// 为消息设置内容
myHandler.sendMessage(message);
}
}).start();
2. 在主线程中处理消息: 你可以在主线程中创建一个Handler对象,然后重写它的handleMessage()方法来处理从子线程发送过来的消息。
private Handler myHandler = new Handler() {
public void handleMessage(Message msg) {
// 处理从子线程发送过来的消息
}
};
3. 使用post方法: Handler类还提供了一种在主线程中执行代码的方法,那就是post()方法,你可以将一个Runnable对象传递给这个方法,然后这个Runnable对象就会在主线程中执行。
Handler myHandler = new Handler();
myHandler.post(new Runnable() {
public void run() {
// 这段代码会在主线程中执行
}
});
4. 延迟执行代码: 通过Handler的postDelayed方法,你可以延迟一段时间后再执行某段代码。
Handler myHandler = new Handler();
myHandler.postDelayed(new Runnable() {
public void run() {
// 这段代码会在延迟后在主线程中执行
}
}, 5000); // 延迟5秒执行