Sobes.tech
Junior — Middle

Kako se može dobiti poruka u glavnoj niti koristeći Handler i Looper?

sobes.tech АИ

Одговор од АИ

U Androidu, za obradu poruka u glavnom (UI) thread-u koristi se klasa Looper, koja kreira ciklus obrade poruka, i Handler, koji postavlja poruke u red čekanja tog Loopera.

Da biste dobili poruku u glavnom thread-u:

  1. U glavnom thread-u poziva se Looper.getMainLooper(), koji vraća Looper glavnog thread-a.
  2. Kreira se Handler povezan sa tim Looper-om:
Handler handler = new Handler(Looper.getMainLooper()) {
    @Override
    public void handleMessage(Message msg) {
        // Obrada poruke u glavnom thread-u
    }
};
  1. Poruke ili Runnable objekti mogu biti poslati ovom Handler-u, i biće obrađeni u glavnom thread-u.

Na ovaj način, Handler i Looper obezbeđuju mehanizam reda i obrade poruka u glavnom thread-u, omogućavajući sigurno ažuriranje UI iz drugih thread-ova.