Android Handler是用于处理线程间通信的一个类。它允许你发送和处理Runnable对象和Message对象。Handler通常与Looper一起使用,Looper负责处理线程的消息队列。Handler主要有以下几种用法:
-
创建Handler实例:
Handler handler = new Handler();
-
发送Runnable对象到消息队列:
handler.post(new Runnable() { @Override public void run() { // 在这里执行你的任务 } });
-
发送Message对象到消息队列:
Message message = new Message(); message.what = YOUR_MESSAGE_ID; handler.sendMessage(message);
-
在Handler的handleMessage方法中处理Message:
@Override public void handleMessage(Message msg) { switch (msg.what) { case YOUR_MESSAGE_ID: // 在这里处理你的消息 break; // 可以处理更多的消息类型 } }
-
与Looper一起使用Handler: 如果你想在非UI线程中处理消息,你需要创建一个Looper并附加到该线程。然后,你可以创建一个Handler并将其与Looper关联。
// 在非UI线程中创建Looper Looper looper = new Looper(); // 将Looper附加到线程 Thread thread = new Thread(new Runnable() { @Override public void run() { Looper.prepare(); // 在这里创建Handler并将其与Looper关联 Handler handler = new Handler(looper); // 发送和处理消息 handler.post(new Runnable() { @Override public void run() { // 在这里执行你的任务 } }); Looper.loop(); } }); thread.start();
这些是Android Handler的基本用法。你可以根据需要调整它们以满足你的应用程序需求。