Sobes.tech
Junior — Middle

Kā iegūt ziņu galvenajā pavedienā, izmantojot Handler un Looper?

sobes.tech AI

Atbilde no AI

Androidā galvenajā (UI) pavedienā ziņojumu apstrādei tiek izmantota klases Looper, kas izveido ziņojumu apstrādes ciklu, un Handler, kas novieto ziņojumus šī Loopera rindā.

Lai iegūtu ziņojumu galvenajā pavedienā:

  1. Galvenajā pavedienā izsauc Looper.getMainLooper(), kas atgriež galvenā pavediena Looperi.
  2. Tiek izveidots Handler, kas ir saistīts ar šo Looperi:
Handler handler = new Handler(Looper.getMainLooper()) {
    @Override
    public void handleMessage(Message msg) {
        // Ziņojuma apstrāde galvenajā pavedienā
    }
};
  1. Ziņojumi vai Runnable objekti var tikt nosūtīti uz šo Handler, un tie tiks apstrādāti galvenajā pavedienā.

Šādā veidā Handler un Looper nodrošina ziņojumu rindas un apstrādes mehānismu galvenajā pavedienā, ļaujot droši atjaunināt UI no citiem pavedieniem.