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)
}
}