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();