Junior — Middle
Kaip galima įsigyti žinutę pagrindiniame sraute, naudojant Handler ir Looper?
sobes.tech AI
Atsakymas iš AI
Android'e pagrindiniame (UI) sraute pranešimų apdorojimui naudojamas Looper klasė, kuri sukuria pranešimų apdorojimo ciklą, ir Handler, kuris įkelia pranešimus į šio Looperio eilę.
Norint gauti pranešimą pagrindiniame sraute:
- Pagrindiniame sraute iškviečiama
Looper.getMainLooper(), kuri grąžina pagrindinio srauto Looperių. - Sukuriamas Handler, susijęs su šiuo Looperių:
Handler handler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
// Apdorojimas pranešimo pagrindiniame sraute
}
};
- Pranešimai arba Runnable objektai gali būti siunčiami į šį Handler, ir jie bus apdoroti pagrindiniame sraute.
Šiuo būdu Handler ir Looper užtikrina pranešimų eilės ir apdorojimo mechanizmą pagrindiniame sraute, leidžiant saugiai atnaujinti UI iš kitų srautų.