Book Image

Clean Android Architecture

By : Alexandru Dumbravan
Book Image

Clean Android Architecture

By: Alexandru Dumbravan

Overview of this book

As an application’s code base increases, it becomes harder for developers to maintain existing features and introduce new ones. In this clean architecture book, you'll learn to identify when and how this problem emerges and how to structure your code to overcome it. The book starts by explaining clean architecture principles and Android architecture components and then explores the tools, frameworks, and libraries involved. You’ll learn how to structure your application in the data and domain layers, the technologies that go in each layer, and the role that each layer plays in keeping your application clean. You’ll understand how to arrange the code into these two layers and the components involved in assembling them. Finally, you'll cover the presentation layer and the patterns that can be applied to have a decoupled and testable code base. By the end of this architecture book, you'll be able to build an application following clean architecture principles and have the knowledge you need to maintain and test the application easily.
Table of Contents (15 chapters)
1
Part 1 – Introduction
6
Part 2 – Domain and Data Layers
10
Part 3 – Presentation Layer

To get the most out of this book

You'll need the Android Studio IDE installed on your computer (version Arctic Fox 2020.3.1 Patch 3 or above) and Java 8 to be installed. Using later versions of Java such as Java 11 might cause errors when building some of the exercises. Knowing how to trigger builds on an emulator or device and Gradle Synchronizations from Android Studio is recommended before attempting the exercises presented in the book.

You can expand on the final exercise of the book by optimizing the way the data is loaded, introducing in-memory caches, or integrating new network calls to fetch additional data for the users. You can also improve the instrumentation testing by adding interaction with the list of data and opening new screens and asserting that the correct data is displayed.

If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book's GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.