
Clean Architecture for Android
Eran Boudjnah
This audiobook is narrated by a digital voice.
DESCRIPTION
Clean architecture has been gaining traction in recent years as a way of developing scalable, testable, and maintainable Android applications. It works as well for single developers as it does for larger teams of many developers.
This book will take you through the ideas behind Clean Architecture. This new edition significantly expands the original content with detailed layer-by-layer implementation chapters, modern Jetpack Compose examples throughout, and triple the testing coverage, including the robot pattern and dedicated server mocking techniques. Lastly, it will provide you with real-life examples of applying the different principles of Clean Architecture and highlighting the benefits of adopting them.
By the end of this book, you should be comfortable developing Clean Architecture-based Android apps. Given a feature requirement, you would be able to break the implementation down into the different components required. Your code will benefit from high test coverage. It will be easy to modify and extend your app without needing to periodically rewrite it completely. Changes to the UI, API contracts or persistence solution will become easy and safe to implement.
WHAT YOU WILL LEARN
● How to develop a Clean Architecture Android app from the ground up.
● The steps for migrating an existing app to Clean Architecture.
● How to approach introducing a new feature.
● How to unit test the different classes of Clean Architecture apps.
● The rules for writing end-to-end tests to verify your app behavior.
WHO THIS BOOK IS FOR
This book is designed to help mobile developers in general and Android developers in particular. It caters to all skill levels. Knowledge of Kotlin would help the reader understand the provided examples, but is not necessary.
Duration - 10h 19m.
Author - Eran Boudjnah.
Narrator - Digital Voice Madison G.
Published Date - Sunday, 05 January 2025.
Copyright - © 2026 BPB ©.
Location:
United States
Description:
This audiobook is narrated by a digital voice. DESCRIPTION Clean architecture has been gaining traction in recent years as a way of developing scalable, testable, and maintainable Android applications. It works as well for single developers as it does for larger teams of many developers. This book will take you through the ideas behind Clean Architecture. This new edition significantly expands the original content with detailed layer-by-layer implementation chapters, modern Jetpack Compose examples throughout, and triple the testing coverage, including the robot pattern and dedicated server mocking techniques. Lastly, it will provide you with real-life examples of applying the different principles of Clean Architecture and highlighting the benefits of adopting them. By the end of this book, you should be comfortable developing Clean Architecture-based Android apps. Given a feature requirement, you would be able to break the implementation down into the different components required. Your code will benefit from high test coverage. It will be easy to modify and extend your app without needing to periodically rewrite it completely. Changes to the UI, API contracts or persistence solution will become easy and safe to implement. WHAT YOU WILL LEARN ● How to develop a Clean Architecture Android app from the ground up. ● The steps for migrating an existing app to Clean Architecture. ● How to approach introducing a new feature. ● How to unit test the different classes of Clean Architecture apps. ● The rules for writing end-to-end tests to verify your app behavior. WHO THIS BOOK IS FOR This book is designed to help mobile developers in general and Android developers in particular. It caters to all skill levels. Knowledge of Kotlin would help the reader understand the provided examples, but is not necessary. Duration - 10h 19m. Author - Eran Boudjnah. Narrator - Digital Voice Madison G. Published Date - Sunday, 05 January 2025. Copyright - © 2026 BPB ©.
Language:
English
Title Page
Duración:00:00:17
Copyright Page
Duración:00:01:25
Dedication
Duración:00:00:06
Forewords
Duración:00:04:58
About the Author
Duración:00:00:47
Acknowledgements
Duración:00:01:20
Preface
Duración:00:10:14
Convention
Duración:00:05:06
Table of Contents
Duración:00:06:19
1. Introduction
Duración:00:00:13
Introduction
Duración:00:00:27
Structure
Duración:00:00:19
Objectives
Duración:00:00:23
History of Android
Duración:00:03:03
Clean Architecture overview
Duración:00:08:24
Clean Architecture vs. MVVM
Duración:00:02:16
So now I must rewrite my project
Duración:00:02:56
Clean Code
Duración:00:03:55
Conclusion
Duración:00:01:40
Points to remember
Duración:00:00:33
2. Clean Architecture Principles
Duración:00:00:12
The application and its role in architecture
Duración:00:02:07
The layers of Clean Architecture implementation
Duración:00:01:32
The Domain layer
Duración:00:06:21
The Presentation layer
Duración:00:11:25
The UI layer
Duración:00:05:08
The Data layer
Duración:00:02:41
The DataSource layer
Duración:00:04:52
Navigation
Duración:00:07:58
3. The Domain Layer
Duración:00:00:09
A brief introduction to the Domain layer
Duración:00:01:12
The Domain architecture code
Duración:00:12:22
The Domain feature code
Duración:00:13:20
4. The Presentation Layer
Duración:00:00:10
The Presentation architecture code
Duración:00:10:56
The Presentation feature code
Duración:00:18:15
5. The UI Layer
Duración:00:00:09
Role of the UI layer
Duración:00:01:48
The UI architecture code
Duración:00:13:57
UI feature code
Duración:00:32:04
6. The DataSource and Data Layers
Duración:00:00:11
The DataSource architecture code
Duración:00:02:31
The DataSource implementation code
Duración:00:14:56
7. Dependency Injection and Navigation
Duración:00:00:24
Overview of the app module
Duración:00:00:58
Implementing and arranging the DI solution
Duración:00:06:17
Implementing navigation
Duración:00:16:18
8. Unit Testing
Duración:00:00:08
The value of unit tests
Duración:00:02:45
Testing the Domain layer
Duración:00:14:25
Testing the Presentation layer
Duración:00:36:18
Testing the Data layer
Duración:00:22:57
Testing the DataSource layer
Duración:00:11:36
The fallacy of test coverage confidence
Duración:00:01:59
9. End-to-end Testing
Duración:00:00:09
The value of end-to-end tests
Duración:00:01:52
The robot pattern
Duración:00:04:07
Testing the home screen
Duración:00:29:35
10. Mocking the Server
Duración:00:00:11
Reasons to mock the server
Duración:00:02:55
Mocking the server
Duración:00:22:46
Using MockWebServer
Duración:00:12:59
Stubbing a Ktor client
Duración:00:05:02
11. Failures and Exceptions
Duración:00:00:11
Failures or exceptions
Duración:00:02:33
Handling failures
Duración:00:15:07
Handling exceptions
Duración:00:05:12
12. Implementing a New Feature
Duración:00:00:10
The definition of a feature
Duración:00:02:24
The requirement
Duración:00:01:09
Starting with the Domain layer
Duración:00:05:38
Implementing the Presentation layer
Duración:00:10:32
Implementing the UI layer
Duración:00:09:37
Implementing the Data and DataSource layers
Duración:00:06:40
13. Dealing with Changes
Duración:00:00:10
Dealing with changes
Duración:00:03:04
Changing a datasource
Duración:00:15:02
Changing the user interface
Duración:00:09:25
14. Migrating an Existing Project
Duración:00:00:12
Existing architectures
Duración:00:04:03
Gradual migration from MVP
Duración:00:06:50
Gradual migration from MVVM
Duración:00:05:10
Revisiting existing implementations
Duración:00:05:35
15. Other Bits and Bobs
Duración:00:00:11
Incidental and accidental duplication
Duración:00:02:42
Long-running operations
Duración:00:02:01
Sharing models across layers
Duración:00:02:32
Flattening and sanitizing data structures
Duración:00:04:22
Handling permissions
Duración:00:01:16
Cross-platform insights
Duración:00:04:05
Software engineering best practices
Duración:00:02:45