Junior — Middle
Jak można uzyskać wiadomość w głównym wątku, używając Handler i Looper?
sobes.tech AI
Odpowiedź od AI
W Androidzie do obsługi wiadomości w głównym (UI) wątku używana jest klasa Looper, która tworzy cykl przetwarzania wiadomości, oraz Handler, który umieszcza wiadomości w kolejce tego Loopera.
Aby uzyskać wiadomość w głównym wątku:
- W głównym wątku wywołuje się
Looper.getMainLooper(), które zwraca Looper głównego wątku. - Tworzy się Handler powiązany z tym Looperem:
Handler handler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
// Przetwarzanie wiadomości w głównym wątku
}
};
- Wiadomości lub obiekty Runnable można wysyłać do tego Handlera, a będą one przetwarzane w głównym wątku.
W ten sposób Handler i Looper zapewniają mechanizm kolejki i przetwarzania wiadomości w głównym wątku, umożliwiając bezpieczną aktualizację UI z innych wątków.