Junior — Middle
Hoe kun je een bericht verkrijgen in de hoofdthread met behulp van Handler en Looper?
sobes.tech AI
Antwoord van AI
In Android wordt de klasse Looper voornamelijk (UI) gebruikt om berichten te verwerken, die een berichtverwerkingscyclus creëert, en Handler, die berichten in de wachtrij van deze Looper plaatst.
Om een bericht in de hoofdthread te krijgen:
- In de hoofdthread wordt
Looper.getMainLooper()aangeroepen, dat de Looper van de hoofdthread retourneert. - Er wordt een Handler gemaakt die aan deze Looper is gekoppeld:
Handler handler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
// Verwerking van het bericht in de hoofdthread
}
};
- Berichten of Runnable-objecten kunnen naar deze Handler worden gestuurd, en ze worden in de hoofdthread verwerkt.
Op deze manier zorgen Handler en Looper voor een mechanisme van berichtwachtrij en verwerking in de hoofdthread, waardoor het veilig is om de UI bij te werken vanuit andere threads.