
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
Duration:00:00:17
Copyright Page
Duration:00:01:25
Dedication
Duration:00:00:06
Forewords
Duration:00:04:58
About the Author
Duration:00:00:47
Acknowledgements
Duration:00:01:20
Preface
Duration:00:10:14
Convention
Duration:00:05:06
Table of Contents
Duration:00:06:19
1. Introduction
Duration:00:00:13
Introduction
Duration:00:00:27
Structure
Duration:00:00:19
Objectives
Duration:00:00:23
History of Android
Duration:00:03:03
Clean Architecture overview
Duration:00:08:24
Clean Architecture vs. MVVM
Duration:00:02:16
So now I must rewrite my project
Duration:00:02:56
Clean Code
Duration:00:03:55
Conclusion
Duration:00:01:40
Points to remember
Duration:00:00:33
2. Clean Architecture Principles
Duration:00:00:12
The application and its role in architecture
Duration:00:02:07
The layers of Clean Architecture implementation
Duration:00:01:32
The Domain layer
Duration:00:06:21
The Presentation layer
Duration:00:11:25
The UI layer
Duration:00:05:08
The Data layer
Duration:00:02:41
The DataSource layer
Duration:00:04:52
Navigation
Duration:00:07:58
3. The Domain Layer
Duration:00:00:09
A brief introduction to the Domain layer
Duration:00:01:12
The Domain architecture code
Duration:00:12:22
The Domain feature code
Duration:00:13:20
4. The Presentation Layer
Duration:00:00:10
The Presentation architecture code
Duration:00:10:56
The Presentation feature code
Duration:00:18:15
5. The UI Layer
Duration:00:00:09
Role of the UI layer
Duration:00:01:48
The UI architecture code
Duration:00:13:57
UI feature code
Duration:00:32:04
6. The DataSource and Data Layers
Duration:00:00:11
The DataSource architecture code
Duration:00:02:31
The DataSource implementation code
Duration:00:14:56
7. Dependency Injection and Navigation
Duration:00:00:24
Overview of the app module
Duration:00:00:58
Implementing and arranging the DI solution
Duration:00:06:17
Implementing navigation
Duration:00:16:18
8. Unit Testing
Duration:00:00:08
The value of unit tests
Duration:00:02:45
Testing the Domain layer
Duration:00:14:25
Testing the Presentation layer
Duration:00:36:18
Testing the Data layer
Duration:00:22:57
Testing the DataSource layer
Duration:00:11:36
The fallacy of test coverage confidence
Duration:00:01:59
9. End-to-end Testing
Duration:00:00:09
The value of end-to-end tests
Duration:00:01:52
The robot pattern
Duration:00:04:07
Testing the home screen
Duration:00:29:35
10. Mocking the Server
Duration:00:00:11
Reasons to mock the server
Duration:00:02:55
Mocking the server
Duration:00:22:46
Using MockWebServer
Duration:00:12:59
Stubbing a Ktor client
Duration:00:05:02
11. Failures and Exceptions
Duration:00:00:11
Failures or exceptions
Duration:00:02:33
Handling failures
Duration:00:15:07
Handling exceptions
Duration:00:05:12
12. Implementing a New Feature
Duration:00:00:10
The definition of a feature
Duration:00:02:24
The requirement
Duration:00:01:09
Starting with the Domain layer
Duration:00:05:38
Implementing the Presentation layer
Duration:00:10:32
Implementing the UI layer
Duration:00:09:37
Implementing the Data and DataSource layers
Duration:00:06:40
13. Dealing with Changes
Duration:00:00:10
Dealing with changes
Duration:00:03:04
Changing a datasource
Duration:00:15:02
Changing the user interface
Duration:00:09:25
14. Migrating an Existing Project
Duration:00:00:12
Existing architectures
Duration:00:04:03
Gradual migration from MVP
Duration:00:06:50
Gradual migration from MVVM
Duration:00:05:10
Revisiting existing implementations
Duration:00:05:35
15. Other Bits and Bobs
Duration:00:00:11
Incidental and accidental duplication
Duration:00:02:42
Long-running operations
Duration:00:02:01
Sharing models across layers
Duration:00:02:32
Flattening and sanitizing data structures
Duration:00:04:22
Handling permissions
Duration:00:01:16
Cross-platform insights
Duration:00:04:05
Software engineering best practices
Duration:00:02:45