Sobes.tech
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:

  1. W głównym wątku wywołuje się Looper.getMainLooper(), które zwraca Looper głównego wątku.
  2. 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
    }
};
  1. 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.