Sobes.tech
Junior — Middle

Kako organizovati prenos podataka iz pozadinskog procesa u glavni tok izvršenja?

sobes.tech АИ

Одговор од АИ

U Androidu, za prenos podataka iz pozadinskog toka u glavni (UI) tok obično se koriste nekoliko pristupa:

  • Handler: kreira se u glavnom toku i prima poruke ili Runnable iz pozadinskog.
  • runOnUiThread: metoda Activity koja omogućava izvršavanje koda u UI-toku.
  • LiveData: posmatrivi entitet, čije se ažuriranje automatski dostavlja u UI.
  • ViewModel + Coroutine sa Dispatchers.Main: korutine omogućavaju prebacivanje između tokova.

Primer sa Handler-om:

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

new Thread(() -> {
    // Pozadinski rad
    String result = "Podaci iz pozadinskog toka";

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