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