Android notes · Topic
Architecture
Layers, MVVM, dependency injection, modularization and refactoring legacy apps.
Evolving Architecture: Refactoring Legacy Apps Toward Clean + Modular
A practical, beginner-friendly guide to migrating a legacy Android codebase to clean, modular architecture without stopping feature delivery.
Architecture for Security-Critical Features: Keystore, Biometrics, and Secret Boundaries
A beginner-friendly architecture guide for security-critical Android features using Keystore, biometrics, and strict secret boundaries.
Scalable Navigation Architecture: Nested Graphs, Type-Safe Routes, and Feature Isolation
Learn a scalable Navigation Compose setup with nested graphs, type-safe routes, and feature-isolated navigation contracts.
Offline-First Architecture: Room + Network Sync + Conflict Resolution
Build resilient Android apps with an offline-first data flow using Room, background sync, and clear conflict resolution rules.
Modularization 101: Feature Modules, Core Modules, and Gradle Strategy
Learn how to split an Android app into feature and core modules, avoid common modularization mistakes, and set up a Gradle strategy that scales.
MVVM Done Right: ViewModel Contracts, Side Effects, and Lifecycle
A beginner-friendly guide to building robust MVVM screens in Android with clear UI contracts, one-off side effects, and lifecycle-safe collection in Compose.
Data Layer Foundations: Repository Pattern (Single Source of Truth)
Learn how to structure your Android data layer with the Repository pattern, avoid common anti-patterns, and build a reliable Single Source of Truth with Room + network.
Domain Layer Basics: Use Cases, Business Rules, and Testability
Learn what the Android Domain layer does, how to write focused Use Cases, and how BAD vs GOOD patterns improve clarity and testability.
UI Layer in Practice: State, Events, and UDF in Compose
Learn how to structure a Compose UI layer with clear state, one-off events, and unidirectional data flow using practical BAD vs GOOD examples.
Android Architecture Fundamentals: Layers, Boundaries, and Data Flow
A practical and detailed guide to Android app architecture: layer responsibilities, dependency boundaries, data flow, and real Kotlin examples with comments.
Compose retain vs ViewModel: Practical Guide, Trade-offs, and Real Examples
A detailed guide to Compose retain: what it solves, what it does NOT replace, and concrete scenarios where retain is better than creating a ViewModel.
Hilt Dependency Injection Deep Dive: From Basics to Custom Scopes
Master Hilt in Android: custom scopes, navigation scopes, qualifiers, component dependencies, and real-world patterns for clean architecture.
Compose StateHolder vs ViewModel: When to Use Which
Stop putting everything in ViewModel. Learn when to use local StateHolder (remember { ... }) vs when you need a ViewModel for proper lifecycle awareness.