Junior — Middle
Wie kann man die Datenübertragung von einem Hintergrundprozess zum Hauptausführungsthread organisieren?
sobes.tech KI
Antwort von AI
Unter Android werden zum Übertragen von Daten aus einem Hintergrund-Thread in den Haupt- (UI-)Thread in der Regel mehrere Ansätze verwendet:
- Handler: Wird im Haupt-Thread erstellt und empfängt Nachrichten oder Runnable vom Hintergrund-Thread.
- runOnUiThread: Methode der Activity, die es ermöglicht, Code im UI-Thread auszuführen.
- LiveData: beobachtbare Entität, deren Aktualisierungen automatisch an die UI geliefert werden.
- ViewModel + Coroutine mit Dispatchers.Main: Coroutines ermöglichen das Umschalten zwischen Threads.
Beispiel mit Handler:
Handler mainHandler = new Handler(Looper.getMainLooper());
new Thread(() -> {
// Hintergrundarbeit
String result = "Daten aus dem Hintergrund-Thread";
mainHandler.post(() -> {
// UI-Update
textView.setText(result);
});
}).start();