Sobes.tech
Junior — Middle

Akými metódami a nástrojmi v Android je možné realizovať vykonávanie úloh asynchrónne?

sobes.tech AI

Odpoveď od AI

V Androidu je možné na vykonávanie úloh asynchrónne použiť niekoľko metód a nástrojov:

  • AsyncTask (zastaralé, ale stále sa vyskytuje v starom kóde) — umožňuje vykonávať operácie na pozadí s aktualizáciou UI.
  • Handler a HandlerThread — na správu frontov správ a vykonávanie úloh v samostatných vláknach.
  • Executor a ThreadPoolExecutor — na správu vlákien.
  • RxJava — knižnica pre reaktívne programovanie, vhodná pre asynchrónne operácie.
  • Coroutines (Korutiny) — moderný a odporúčaný spôsob asynchrónneho programovania v Kotlin.
  • WorkManager — pre odložené a periodické úlohy, ktoré musia byť vykonané aj pri zatvorenej aplikácii.

Príklad použitia korutín pre asynchrónnu úlohu:

import kotlinx.coroutines.*

fun fetchData() {
    GlobalScope.launch(Dispatchers.Main) {
        val data = withContext(Dispatchers.IO) {
            // Dlhá operácia, napríklad sieťová požiadavka
            loadDataFromNetwork()
        }
        // Aktualizácia UI s načítanými dátami
        updateUI(data)
    }
}