Sobes.tech
Junior — Middle

Kā organizēt datu pārraidi no fonu procesa uz galveno izpildes pavedienu?

sobes.tech AI

Atbilde no AI

Android, lai pārsūtītu datus no fonā esoša pavediena uz galveno (UI) pavedienu, parasti izmanto vairākus pieejas veidus:

  • Handler: tiek izveidots galvenajā pavedienā un saņem ziņojumus vai Runnable no fonā esošā pavediena.
  • runOnUiThread: Activity metode, kas ļauj izpildīt kodu UI pavedienā.
  • LiveData: novērojama būtība, kura automātiski piegādā atjauninājumus uz UI.
  • ViewModel + Coroutine ar Dispatchers.Main: korutīnas ļauj pārslēgties starp pavedieniem.

Piemērs ar Handler:

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

jauns pavedienis(() -> {
    // Fonā darbs
    String result = "Dati no fonā esoša pavediena";

    mainHandler.post(() -> {
        // UI atjaunināšana
        textView.setText(result);
    });
});