Complete source code for the Jetpack Compose Tutorial series on kemalcodes.com.
A step-by-step Android tutorial that takes you from your first Composable to building and publishing a real app. 25 tutorials with working code you can clone and run.
Each tutorial has its own branch. Switch to the branch you want:
git clone https://github.com/kemalcodes/android-jetpack-compose-tutorial.git
cd android-jetpack-compose-tutorial
# Switch to a specific tutorial
git checkout tutorial-01-what-is-composeThe main branch contains the base project. Tutorial branches build on top of it.
| # | Tutorial | Branch | Article |
|---|---|---|---|
| 1 | What is Jetpack Compose? | tutorial-01-what-is-compose |
Read |
| 2 | Layouts — Column, Row, Box | tutorial-02-layouts |
Read |
| 3 | Modifiers | tutorial-03-modifiers |
Read |
| 4 | Text, Button, Image, TextField | tutorial-04-components |
Read |
| 5 | State | tutorial-05-state |
Read |
| 6 | Lists — LazyColumn, LazyRow | tutorial-06-lists |
Read |
| 7 | Material 3 Theming | tutorial-07-theming |
Read |
| # | Tutorial | Branch | Article |
|---|---|---|---|
| 8 | Navigation | tutorial-08-navigation |
Read |
| 9 | ViewModel | tutorial-09-viewmodel |
Read |
| 10 | MVI Pattern | tutorial-10-mvi |
Read |
| 11 | Side Effects | tutorial-11-side-effects |
Read |
| 12 | Retrofit — API Calls | tutorial-12-retrofit |
Read |
| 13 | Room Database | tutorial-13-room |
Read |
| 14 | Hilt — Dependency Injection | tutorial-14-hilt |
Read |
| # | Tutorial | Branch | Article |
|---|---|---|---|
| 15 | Animations | tutorial-15-animations |
Read |
| 16 | Custom Layouts & Canvas | tutorial-16-canvas |
Read |
| 17 | Performance | tutorial-17-performance |
Coming soon |
| 18 | Testing | tutorial-18-testing |
Coming soon |
| 19 | Permissions & Camera | tutorial-19-permissions |
Coming soon |
| 20 | Adaptive Layouts | tutorial-20-adaptive |
Coming soon |
| # | Tutorial | Branch | Article |
|---|---|---|---|
| 21 | Planning — Task Manager | tutorial-21-app-planning |
Coming soon |
| 22 | Data Layer | tutorial-22-data-layer |
Coming soon |
| 23 | UI Layer | tutorial-23-ui-layer |
Coming soon |
| 24 | Polish & Animations | tutorial-24-polish |
Coming soon |
| 25 | Publish to Google Play | tutorial-25-publish |
Coming soon |
- Tutorials 1-12, 15: Use AGP 9.1 + Kotlin 2.2.10 (main branch versions)
- Tutorials 13 (Room), 14 (Hilt): Use AGP 8.10 + Kotlin 2.1.21 + KSP (required for annotation processing compatibility)
- Kotlin — primary language
- Jetpack Compose — UI toolkit
- Material 3 — design system
- Android Studio — IDE
- Minimum SDK: API 24 (Android 7.0)
- Android Studio (latest stable version)
- JDK 17+
- An Android device or emulator
- Clone the repo
- Open in Android Studio
- Switch to the tutorial branch you want
- Click Run
All tutorials with detailed explanations at kemalcodes.com/jetpack-compose-tutorial