Sobes.tech
Назад к вопросам
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();