HandlerThread
是 Android 中用于創建后臺線程的一個類,它繼承自 Thread
類。要實現線程間通信,我們可以使用 Handler
和 Looper
。下面是一個簡單的示例:
HandlerThread
對象并啟動它:HandlerThread handlerThread = new HandlerThread("MyHandlerThread");
handlerThread.start();
Handler
對象,將 handlerThread.getLooper()
作為參數傳遞給它。這樣,Handler
就會在 HandlerThread
中運行。Handler handler = new Handler(handlerThread.getLooper());
HandlerThread
中執行任務,可以使用 handler.post()
或 handler.sendMessage()
方法。例如,以下代碼在 HandlerThread
中執行一個簡單的任務:handler.post(new Runnable() {
@Override
public void run() {
// 在這里執行你的任務
}
});
HandlerThread
中返回結果,可以使用 Handler
在主線程中接收消息。首先,創建一個主線程的 Handler
:Handler mainHandler = new Handler(Looper.getMainLooper());
HandlerThread
中的任務完成后,使用 mainHandler.post()
或 mainHandler.sendMessage()
方法將結果發送回主線程:handler.post(new Runnable() {
@Override
public void run() {
// 在這里執行你的任務
// 當任務完成時,將結果發送回主線程
mainHandler.post(new Runnable() {
@Override
public void run() {
// 在主線程中處理結果
}
});
}
});
這樣,你就可以使用 HandlerThread
和 Handler
實現線程間通信了。請注意,這只是一個簡單的示例,你可能需要根據你的需求進行調整。