Junior — Middle
Comment peut-on acquérir un message dans le fil principal en utilisant Handler et Looper?
sobes.tech IA
Réponse de l'IA
En Android, pour traiter les messages dans le thread principal (UI), la classe Looper est utilisée, qui crée une boucle de traitement des messages, et Handler, qui place les messages dans la file d'attente de ce Looper.
Pour obtenir un message dans le thread principal :
- Dans le thread principal, on appelle
Looper.getMainLooper(), qui retourne le Looper du thread principal. - Un Handler est créé, lié à ce Looper :
Handler handler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
// Traitement du message dans le thread principal
}
};
- Les messages ou objets Runnable peuvent être envoyés à ce Handler, et ils seront traités dans le thread principal.
Ainsi, Handler et Looper assurent un mécanisme de file d'attente et de traitement des messages dans le thread principal, permettant de mettre à jour l'UI en toute sécurité depuis d'autres threads.