Sobes.tech
Junior — Middle

Чӣ гуна метавон интиқоли маълумотҳоро аз равандҳои пасзамана ба ҷараёни асосии иҷроиш ташкил дод?

sobes.tech AI

Ҷавоб аз 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();