Code Structure
In this part, we will look at how we can perform asynchronous tasks and then deliver the results to the user interface. We will then build upon that work to use Android Architecture Components to assist in code structuring by separating code that performs tasks (which can be tested) from code that interacts with the user interface (which is harder to test).
We will then look at the available options we have with regard to saving data on the device. Finally, we will explore how we can manage the dependencies inside the application with the help of dependency injection.
This part of the book includes the following chapters:
- Chapter 9, Testing with JUnit, Mockito, MockK, and Compose
- Chapter 10, Coroutines and Flow
- Chapter 11, Android Architecture Components
- Chapter 12, Persisting Data
- Chapter 13, Dependency Injection with Dagger, Hilt, and Koin