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)
1
Part 1 – Kotlin Coroutines on Android
6
Part 2 – Kotlin Flows on Android

Setting up an Android project for testing Flows

In this section, we will start by looking at how to set up our Android project for testing Kotlin Flows. Once we have done that, it will be easy for us to add unit and integration tests for the Flows in our project.

To create a unit test in Android, your project must have the JUnit 4 testing library, a unit testing framework for Java. New projects created in Android Studio should already have this added in the app/build dependencies. If your project does not have JUnit yet, you can add it by adding the following in your app/build.gradle dependencies:

dependencies {
    …
    testImplementation 'junit:junit:4.13.2'
}

Adding this to your dependencies enables you to use the JUnit 4 testing framework to unit-test your code.

It is also a good idea to use mock objects for your tests. Mockito is a popular Java mocking library that you can use on Android. You can also...