Junior — Middle
Jak lze získat zprávu v hlavním vlákně pomocí Handler a Looper?
sobes.tech AI
Odpověď od AI
V Androidu se k hlavnímu (UI) vláknu pro zpracování zpráv používá třída Looper, která vytváří cyklus zpracování zpráv, a Handler, který tyto zprávy umisťuje do fronty tohoto Loopera.
Pro získání zprávy v hlavním vláknu:
- V hlavním vláknu se volá
Looper.getMainLooper(), které vrací Looper hlavního vlákna. - Vytvoří se Handler spojený s tímto Loopem:
Handler handler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
// Zpracování zprávy v hlavním vláknu
}
};
- Zprávy nebo objekty Runnable lze odeslat na tento Handler, a budou zpracovány v hlavním vláknu.
Tímto způsobem Handler a Looper zajišťují mechanismus fronty a zpracování zpráv v hlavním vláknu, což umožňuje bezpečně aktualizovat UI z jiných vláken.