Sobes.tech
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();