Назад к вопросам
Альфа-Банк
Junior — Middle
70
Каким образом можно организовать передачу данных из фонового процесса в главный поток выполнения?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Android для передачи данных из фонового потока в главный (UI) поток обычно используют несколько подходов:
- Handler: создаётся в главном потоке и получает сообщения или Runnable из фонового.
- runOnUiThread: метод Activity, позволяющий выполнить код в UI-потоке.
- LiveData: наблюдаемая сущность, обновления которой автоматически доставляются в UI.
- ViewModel + Coroutine с Dispatchers.Main: корутины позволяют переключаться между потоками.
Пример с Handler:
Handler mainHandler = new Handler(Looper.getMainLooper());
new Thread(() -> {
// Фоновая работа
String result = "Данные из фонового потока";
mainHandler.post(() -> {
// Обновление UI
textView.setText(result);
});
}).start();