Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Simplifying Android Development with Coroutines and Flows
  • Table Of Contents Toc
  • Feedback & Rating feedback
Simplifying Android Development with Coroutines and Flows

Simplifying Android Development with Coroutines and Flows

By : Jomar Tigcal
5 (2)
close
close
Simplifying Android Development with Coroutines and Flows

Simplifying Android Development with Coroutines and Flows

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

Testing coroutines

In this section, we will focus on how you can test your coroutines. You can create tests for classes such as ViewModel that launch a coroutine.

For coroutines launched using Dispatchers.Main, your unit tests will fail with the following error message:

java.lang.IllegalStateException: Module with the Main dispatcher had failed to initialize. For tests Dispatchers.setMain from kotlinx-coroutines-test module can be used

This exception happens because Dispatchers.Main uses Looper.getMainLooper(), the application’s main thread. This main looper is not available in Android for local unit tests. To make your tests work, you must use the Dispatchers.setMain extension function to change the Main dispatcher. For example, you can create a function in your test class that will run before your tests:

@Before
fun setUp() {
    Dispatchers.setMain(UnconfinedTestDispatcher())
}

The setUp function will run before the tests. It will...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech

Create a Note

Modal Close icon
You need to login to use this feature.
notes
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Delete Note

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Edit Note

Modal Close icon
Write a note (max 255 characters)
Cancel
Update Note

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY