Coroutines ni suluhisho la Kotlin kwa programu ya asynchronous — kuandika msimbo wa async (simu za mtandao, shughuli za hifadhidata) unaosomeka kwa mfululizo bila kuzuia thread kuu. Ni njia ya kisasa, inayopendekezwa ya kushughulikia kazi ya async katika Android, ikiepuka utata wa callbacks.
Kwa nini async ni muhimu katika 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.
