Junior — Middle
Hogyan szervezhető meg az adatok átadása háttérfolyamatból a fő végrehajtási szálhoz?
sobes.tech MI
Válasz az MI-től
Androidben az adatok háttérszálról a fő (UI) szálra történő átadásához általában több megközelítést alkalmaznak:
- Handler: a fő szálon jön létre, és üzeneteket vagy Runnable-t fogad a háttérszálról.
- runOnUiThread: az Activity metódusa, amely lehetővé teszi a kód futtatását a UI szálon.
- LiveData: megfigyelhető entitás, amelynek frissítései automatikusan eljutnak a UI-hoz.
- ViewModel + Coroutine a Dispatchers.Main segítségével: a korutinok lehetővé teszik a szálak közötti váltást.
Példa Handler-rel:
Handler mainHandler = new Handler(Looper.getMainLooper());
new Thread(() -> {
// Háttérmunka
String result = "Adatok a háttérszálról";
mainHandler.post(() -> {
// UI frissítése
textView.setText(result);
});
}).start();