Android with Kotlin & Jetpack Compose
Build modern Android apps with Kotlin and Jetpack Compose — Google's recommended toolkit: composable screens, state, lists, navigation, ViewModels, local storage and APIs, ending with a complete app.
4
units
16
lessons
48
practice questions
~240
minutes
Start learning today
Create a free account, then unlock this and every other Pro course with Learnix Pro for KES 999/month.
Create free account I already have an accountOutcomes
What you'll be able to do
Create and run Compose apps in Android Studio
Build screens from composables with Material 3
Manage state and handle user input
Show lists with LazyColumn and move between screens with Navigation
Structure apps with ViewModel, StateFlow and coroutines
Save data with DataStore/Room and load JSON with Retrofit
How it works
Read it, see it, practise it
Each lesson explains one topic clearly, shows worked examples, checks your understanding with quick questions and ends with a practical task you complete yourself.
Clear explanations
Step-by-step lessons in plain language
28 in this course
Worked examples
Real code and examples you can copy and run
24 in this course
Quick checks
Test your understanding as you go
32 in this course
Fill the blank
Recall the key commands and syntax
16 in this course
Hands-on workspace
A practical task at the end of every lesson
16 in this course
Syllabus
Everything you'll encounter
Android Studio and Your First Compose App
Create a Jetpack Compose project, understand its files, use live previews and run it on a phone.
Layouts: Column, Row, Box and Modifiers
Arrange UI with Column, Row and Box, and style anything with Modifiers — padding, size, background, click handling.
State and User Input
Make screens interactive: remember state, react to clicks, read text fields and validate input — the heart of Compose.
Forms and Input Validation in Compose
Build a sign-up form with OutlinedTextField, the right keyboard for each field, and error messages that appear exactly where the problem is.
Lists with LazyColumn and LazyVerticalGrid
Show long scrolling lists and grids efficiently with Lazy layouts — Compose's simpler replacement for RecyclerView.
Navigation Between Screens
Build a multi-screen app with Navigation Compose: routes, passing arguments, the back stack, and opening other apps.
Scaffold, Top Bars and Bottom Navigation
Give your app a professional frame: a top app bar, a bottom navigation bar with tabs, a floating action button, all coordinated by Scaffold.
Dialogs, Snackbars and Bottom Sheets
Confirm costly actions, offer undo, and show extra options in a bottom sheet: the small interactions that make an app feel safe and polished.
ViewModel, StateFlow and Coroutines
Structure your app like the pros: keep state and logic in a ViewModel, expose it as StateFlow, and do slow work in viewModelScope.
Saving Data: DataStore and Room
Remember settings with DataStore and store orders in a Room database whose changes flow straight into your UI.
Loading Data with Retrofit and Coroutines
Fetch JSON from a web API with Retrofit and suspend functions, and show loading, success and error states with a sealed UI state.
Permissions, Camera and Photos
Let users set a profile photo and photograph products. Use the permission-free Photo Picker, request runtime permissions politely, and load images with Coil.
Notifications and Background Work
Send useful notifications (order shipped, study reminder) the right way, and schedule reliable background jobs with WorkManager and coroutines.
Material 3 Theming, Dark Mode and Polish
Apply your brand with Material 3 colour schemes, support dark mode and dynamic colour, load images with Coil, and make the app accessible.
Testing and Debugging Compose Apps
Find bugs fast with Logcat, the debugger and Layout Inspector, then protect your app with ViewModel unit tests and Compose UI tests.
Final Project and Publishing
Build the complete Learnix Shop app in Compose, create a signed release, and prepare it for Google Play.
Finish the course, earn a verifiable certificate
Complete every lesson to receive a Learnix certificate with a unique number anyone can verify online.