Coroutines janë zgjidhja e Kotlin-it për programimin asinkron — shkruajmë kod asinkron (thirrje në rrjet, operacione në bazën e të dhënave) që lexohet në mënyrë sekuenciale pa bllokuar thread-in kryesor. Ato janë mënyra moderne, e rekomanduar për të trajtuar punën asinkrone në Android, duke shmangur kompleksitetin e callback-ëve.
Pse async ka rëndësi në Android
The MAIN (UI) thread must stay responsive — blocking it (with network/DB work) freezes
the UI (ANR "Application Not Responding" errors):
→ long operations MUST run off the main thread (asynchronously)
→ old approaches: callbacks (nested, complex), threads/AsyncTask (verbose, error-prone)
→ COROUTINES make async code clean and sequential.
