Android foundations for true beginners.
Goal: build comfort with Android Studio, Kotlin, and Compose without drowning in architecture. By the end, you should be able to build a simple app with multiple UI states and explain what happens when a user taps a button.
Tutorial sequence
Work through these in order. Each tutorial has a concrete outcome, an illustration, code, and a practice task.
Step-by-step build track
Build the habit tracker one screen and one concept at a time.
Complete reference version
Full code and explanation in one longer reference page.
Setup and mental model
Install, run, inspect files, and understand how an Android app starts.
Kotlin basics
Variables, functions, lists, data classes, null safety, and conditions.
App anatomy
MainActivity, setContent, Gradle, manifest, resources, and package structure.
Compose UI basics
Composable functions, Text, Button, Preview, and the UI tree.
Layout and Material
Column, Row, Box, Modifier, spacing, cards, and simple responsive layout.
State and events
remember, mutableStateOf, text input, click handlers, and recomposition.
Debugging basics
Compiler errors, Logcat, breakpoints, crashes, and systematic fixes.
Final habit tracker
Combine the concepts into one small, reviewable beginner project.
Interactive quiz lab
Multi-select, drag-and-drop ordering, matching, and code-fix checks.
Final Phase 1 project
Create a habit tracker with add, complete, delete, and empty-state screens. Keep persistence optional in this phase. The main proof is that you can model user interaction and screen state clearly.
Screen states: - No habits yet - Habit list with pending items - Habit list with completed items - Invalid input message - Confirmation after delete
Exit gate
- You can create and run a Compose app without copying every step.
- You can explain why UI updates after state changes.
- You can build a form with validation and at least three user states.
- You can fix basic compiler errors and runtime crashes using Logcat.
- You can complete the quiz lab without guessing.
- You have one small project in GitHub with a README and screenshots.