Junior — Middle
Comment organiser la transmission de données d'un processus en arrière-plan au thread principal d'exécution?
sobes.tech IA
Réponse de l'IA
Sous Android, pour transférer des données d'un thread en arrière-plan vers le thread principal (UI), on utilise généralement plusieurs approches :
- Handler : créé dans le thread principal et reçoit des messages ou Runnable du thread en arrière-plan.
- runOnUiThread : méthode de l'Activity permettant d'exécuter du code dans le thread UI.
- LiveData : entité observable, dont les mises à jour sont automatiquement livrées à l'UI.
- ViewModel + Coroutine avec Dispatchers.Main : les coroutines permettent de basculer entre les threads.
Exemple avec Handler :
Handler mainHandler = new Handler(Looper.getMainLooper());
new Thread(() -> {
// Travail en arrière-plan
String result = "Données du thread en arrière-plan";
mainHandler.post(() -> {
// Mise à jour de l'UI
textView.setText(result);
});
}).start();