Chapter 2: Understanding Kotlin Coroutines
In the previous chapter, you revisited the concept of asynchronous programming and how it helps you execute long-running tasks in the background without freezing the app and annoying your app’s users. You learned how to carry out asynchronous programming with Threads, AsyncTasks, and Executors. Finally, you were introduced to the new way of doing it on Android: Kotlin Coroutines and Flows.
Coroutines is a Kotlin library for multithreading and asynchronous programming, such as making network calls and accessing files or databases. Kotlin Coroutines is Google’s official recommendation for asynchronous programming on Android. Android Jetpack libraries, such as ViewModel, Lifecycle, WorkManager, and Room, include support for Kotlin Coroutines. Third-party Android libraries, such as Retrofit, now provide support for Kotlin Coroutines.
In this chapter, we will dive deep into Kotlin Coroutines. You will learn how to use coroutines...