Intermediate Mobile Development
Android with Kotlin
Master Android development using Kotlin, from language fundamentals to production-ready architecture patterns.
5 modules 30 lessons 5 h 250 questions
Course content
1 Kotlin Fundamentals 6 lessons · 42 min
2 Android UI & Views 6 lessons · 35 min
3 Jetpack Compose 6 lessons · 26 min
13
Composables, State & Recomposition
4:06
14
Layout System: Column, Row, Box & Modifiers
4:09
15
LazyColumn, LazyRow & List Optimization
4:24
16
Compose Navigation: NavHost & Destinations
4:11
17
ViewModel Integration & UI State in Compose
4:24
18
Material 3 Theming, Dynamic Color & Animations
4:42
4 Android Architecture 6 lessons · 21 min
19
MVVM: ViewModel, UiState & Single Activity
3:22
20
Room: Entities, DAOs & Database Migrations
3:27
21
Retrofit & OkHttp: REST APIs & JSON Parsing
3:32
22
Repository Pattern & Offline-First Architecture
3:24
23
Hilt: Dependency Injection Modules & Scopes
3:35
24
WorkManager, App Startup & Background Tasks
3:57
5 Kotlin Coroutines 6 lessons · 34 min
25
Coroutines Basics: suspend, launch & Dispatchers
5:32
26
Structured Concurrency: Scopes, Jobs & Cancellation
5:37
27
Flow: Cold Streams & Operators
5:40
28
StateFlow & SharedFlow: Hot Streams for UI
5:32
29
Error Handling, retry & Coroutine Best Practices
5:59
30
Testing Coroutines & Flow with Turbine
5:49
Tips
See all
Functional
val vs var: Prefer Immutability
Default to val; reach for var only when mutation is required
OOP
Data Classes: Boilerplate-Free Models
Get equals, hashCode, toString, and copy for free
Functional
Extension Functions: Add Behaviour Without Inheritance
Extend any class — even ones you don't own
Functional
Null Safety: The Elvis Operator ?:
Replace null checks with concise, expressive fallbacks
