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