安卓handler用法
时间: 2023-10-10 22:15:03 浏览: 50
安卓中的Handler是一种消息处理机制,用于在不同的线程之间传递消息和执行任务。它的主要用途是在后台线程中执行一些耗时的任务,然后将处理结果传递给UI线程更新UI界面。
使用Handler的步骤如下:
1. 在UI线程中创建Handler对象,并重写它的handleMessage()方法。该方法会在后台线程发送消息时被调用,并在UI线程中执行处理任务的代码。
```
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// 在UI线程中执行处理任务的代码
}
};
```
2. 在后台线程中发送消息。可以通过调用Handler的sendMessage()方法或post()方法来发送消息。
```
handler.sendMessage(handler.obtainMessage(1, "Hello"));
```
```
handler.post(new Runnable() {
@Override
public void run() {
// 在后台线程中执行耗时任务的代码
// 然后调用handler.sendEmptyMessage()或handler.sendMessage()方法发送消息
}
});
```
3. 在handleMessage()方法中处理消息。可以通过Message对象的what属性和obj属性获取消息的内容。
```
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
String message = (String) msg.obj;
// 处理消息的代码
break;
}
}
```
需要注意的是,Handler必须在UI线程中创建,因为它会与UI线程的消息循环相关联。如果在后台线程中创建Handler,会导致程序崩溃或出现其他异常。