Android
Native Android development.
Android is taught here in 14 lessons, running from Android projects and activities through to Next steps: Kotlin Multiplatform and the Jetpack ecosystem. Each lesson takes one topic, shows the working code, and links onward to the next, so the course can be read straight through in order.
| Track | Mobile Development |
| Lessons | 14 |
| Level | Beginner to intermediate |
| Reading time | about 3 hours |
| Prerequisites | None beyond being able to open a text editor |
Lessons
- Android projects and activitiesHow a Gradle project is laid out, what the manifest declares, and how an activity moves through its lifecycle.
- Layouts and Jetpack ComposeThe XML view system and the Compose alternative: how a screen is described, measured and redrawn in each model.
- Permissions, storage and publishingRequesting runtime permissions, choosing where files belong, and the steps to put a signed build on Google Play.
- Kotlin essentials for AndroidNull safety in practice, data classes and sealed hierarchies, extension and scope functions, and the coroutine basics Android code depends on.
- Compose state, recomposition and Material 3remember and mutableStateOf, state hoisting, why recomposition scope matters, derivedStateOf, and Material 3 theming with dynamic colour.
- Architecture: ViewModel, lifecycle and saved stateLifecycle-aware collection, ViewModel scope and survival rules, SavedStateHandle for process death, and unidirectional data flow.
- Navigation and multiple screensNavigation Compose routes and typed arguments, nested graphs, bottom navigation, deep links, and the back stack rules that avoid surprises.
- Networking with Retrofit, coroutines and repositoriesRetrofit and OkHttp configuration, kotlinx.serialization, dispatchers, Result-based error handling and a repository that hides the network.
- Local persistence with Room and DataStoreEntities, DAOs and Flow queries, migrations as first-class code, transactions, and choosing between Room and DataStore.
- Dependency injection with HiltHilt setup and modules, injecting ViewModels and repositories, scoping and generated components, and testing with fakes.
- Background work, notifications and WorkManagerWorkManager with constraints and backoff, unique and chained work, foreground services, and notification channels and permissions.
- Testing Android appsJVM versus instrumented tests, coroutine test dispatchers, fakes over mocks, Compose UI testing and screenshot tests.
- Performance, accessibility and Play qualityStartup and jank measurement, baseline profiles, leak detection, TalkBack and contrast, and the Play vitals that affect distribution.
- Next steps: Kotlin Multiplatform and the Jetpack ecosystemWhat Kotlin Multiplatform shares and what it does not, Compose Multiplatform, common Jetpack libraries worth adopting, and staying current.
More in Mobile Development
iOS Flutter React Native Kotlin Swift
FAQ
How long does the Android course take?
It has 14 lessons, about 3 hours of reading. Expect roughly twice that if you type out and run every example.
Do I need prior experience for Android?
No. This is the first course in Mobile Development, so it starts from the beginning and assumes no background.
What should I read after Android?
Continue with iOS (14 lessons), the next course in Mobile Development.