Modern Android App Architecture
Learn about best practices and recommended Architecture for building robust, production-quality apps.
Understand why designing a good app Architecture matters. Learn about common architectural principles, the recommended app architecture, how to manage dependencies between components, and general best practices.
Learn about the role of the UI layer, how to define, manage, expose, and consume UI state using the principles of Unidirectional Data Flow, and how to show in-progress operations and errors on the screen.
Learn about the role of the Data layer, the different entities involved, the APIs to expose, threading, how to define a source of truth, the different types of data operations, how to test this layer, and examples of common tasks this layer usually performs.
Learn about the role of the Domain layer, why it's optional and when you should need it, how to better invoke use cases, and examples of common tasks this layer could perform.
Handling UI events
Learn how to handle different types of UI events in the UI layer for events that are triggered both by the user or parts of your code. Also, learn what to do if your use case seems to be different from the ones covered in this page.