Summary
In this chapter, you revisited the concept of asynchronous programming. We learned that asynchronous programming helps you execute long-running tasks in the background without freezing the app and annoying your users.
You then learned about various ways you can do asynchronous programming in Android, including with threads, AsyncTask, and Executors
. We also learned that they allow you to perform tasks in the background and update the main thread. AsyncTask is already deprecated, and threads and Executors
are not the best ways to carry out asynchronous programming in Android.
Finally, you were introduced to the new, recommended way to carry out asynchronous programming in Android: with Kotlin’s Coroutines and Flow. We learned that Coroutines is a Kotlin library that you can use to easily perform asynchronous, non-blocking, and long-running tasks in the background. Flow, built on top of Coroutines, allows you to handle functions that return multiple values over time.
In the next chapter, you will dive deeper into Kotlin coroutines and learn how to use them in your Android project.