Sobes.tech
Junior — Middle

Hoe kan de gegevensoverdracht van een achtergrondproces naar de hoofduitvoeringsdraad worden georganiseerd?

sobes.tech AI

Antwoord van AI

In Android worden verschillende benaderingen gebruikt om gegevens van een achtergrondthread naar de hoofd- (UI-) thread over te brengen:

  • Handler: wordt aangemaakt in de hoofdthread en ontvangt berichten of Runnable van de achtergrondthread.
  • runOnUiThread: methode van de Activity waarmee je code in de UI-thread kunt uitvoeren.
  • LiveData: een observeerbare entiteit waarvan updates automatisch naar de UI worden gestuurd.
  • ViewModel + Coroutine met Dispatchers.Main: coroutines maken het mogelijk om tussen threads te schakelen.

Voorbeeld met Handler:

Handler mainHandler = new Handler(Looper.getMainLooper());

new Thread(() -> {
    // Achtergrondwerk
    String result = "Gegevens uit achtergrondthread";

    mainHandler.post(() -> {
        // UI-update
        textView.setText(result);
    });
}).start();