Free to read · Three levels
Android development: Kotlin, Compose, and reliable applications
A complete bilingual theory course covering Android foundations, Jetpack state and data, and production architecture through explained examples and worked exercises.
Start learningIn this course
Learn Android as a system of explicit contracts: build configuration, components, state ownership, lifecycle, persistence, and platform integration. A reading-list application provides a consistent teaching context while each lesson develops an independent engineering decision in depth.
The basic level establishes Kotlin and Compose foundations. The intermediate level develops asynchronous screen state, durable data, networking, permissions, testing, accessibility, and adaptive presentation. The advanced level covers recovery, background execution, performance, privacy, synchronization, and release operations. Every lesson includes contextual code, explained mistakes, worked exercises, takeaways, and primary references.
What you will learn
- Explain the Android build and compatibility contracts.
- Design state-driven, accessible Compose features with clear navigation and ownership.
- Build testable asynchronous data paths with durable persistence and respectful permissions.
- Reason about process restoration, background work, security, offline synchronization, and release evidence.
Your learning path
Three levels
Basic: Android and Compose foundations
Understand the project, language, components, state, layout, and lifecycle as connected contracts.
- Android projects, Studio, and the build toolchain
- Kotlin values, nullability, and domain models
- Components, manifests, and intents
- Compose state, events, and recomposition
- Layouts, resources, and inclusive controls
- Navigation, back stacks, and lifecycle
Intermediate: state, data, and inclusive features
Coordinate asynchronous state, local and remote data, permissions, tests, and adaptable user journeys.
- ViewModel, structured coroutines, and Flow
- Room, DataStore, and durable data
- Networking and repository boundaries
- Permissions and respectful platform integration
- Testing and evidence-based debugging
- Accessible and adaptive feature design
Advanced: reliable mobile systems and releases
Make explicit tradeoffs for recovery, scheduling, performance, security, consistency, and operational response.
- Architecture and process restoration
- Durable background work and scheduling
- Performance measurement and diagnosis
- Security and privacy boundaries
- Offline-first synchronization and conflicts
- Release engineering and observability
Who this is for
- Learners beginning native Android development with basic programming knowledge.
- Developers who want to reason about lifecycle, consistency, and reliable mobile behavior.
Before you start
- Comfort with variables, functions, and reading a small program; Kotlin-specific concepts are taught here.
- An understanding of files and version control. Android Studio is useful for later practice, but reading the course requires no SDK installation or device connection.