Book Image

Simplifying Android Development with Coroutines and Flows

By : Jomar Tigcal
Book Image

Simplifying Android Development with Coroutines and Flows

By: Jomar Tigcal

Overview of this book

Coroutines and flows are the new recommended way for developers to carry out asynchronous programming in Android using simple, modern, and testable code. This book will teach you how coroutines and flows work and how to use them in building Android applications, along with helping you to develop modern Android applications with asynchronous programming using real data. The book begins by showing you how to create and handle Kotlin coroutines on Android. You’ll explore asynchronous programming in Kotlin, and understand how to test Kotlin coroutines. Next, you'll learn about Kotlin flows on Android, and have a closer look at using Kotlin flows by getting to grips with handling flow cancellations and exceptions and testing the flows. By the end of this book, you'll have the skills you need to build high-quality and maintainable Android applications using coroutines and flows.
Table of Contents (11 chapters)
Part 1 – Kotlin Coroutines on Android
Part 2 – Kotlin Flows on Android


This chapter focused on testing coroutines in your Android app. You started with learning how to set up your Android project in preparation for adding tests for your coroutines. The coroutines testing library (kotlinx-coroutines-test) helps you to create tests for your coroutines.

You learned how to add unit tests for your suspending functions. You can use runBlocking and runTest to test code that calls suspending functions. runTest runs the code immediately, without delays.

Then, you learned how to test coroutines. You can change the dispatcher in your test with a TestDispatcher (StandardTestDispatcher or UnconfinedTestDispatcher). TestCoroutineScheduler allows you to control the execution of the coroutine task.

Finally, you worked on an exercise where you added unit tests for coroutines in an existing Android project.

In the next chapter, you will explore Kotlin Flows and learn how you can use them for asynchronous programming in Android.