AnFree Course · Beginner → Intermediate

The Complete Android Course

Learn Android with Kotlin and Jetpack Compose, from a first composable to a small offline app. Study Text, Image, TextField and everyday composables in ten detailed lessons with interactive demonstrations, worked examples and exercises. Build seven practical projects with complete source code, then explore optional advanced topics.

Build 20 Compose mini projects, including 10 for Phase 1
55
Modules
7
Phase capstones
30h+
Lesson study
Learn · predict · build · explain

A clear path from your first screen to an offline app

Start with basic Kotlin: functions, collections, data classes, and nullability. Each lesson has a focused example, practice task, and expected result. Complete the phase project before moving on; marked optional lessons can be skipped. Project build time is separate from lesson study estimates.

1. Read and understand

Identify the input, the state owner, and the expected screen result.

2. Practice and verify

Implement the worked exercise in Android Studio and compare observed behavior with the expected checks.

3. Build and review

Finish the phase capstone, demonstrate edge cases and review your implementation with the published criteria.

Download all seven capstones

Phase 1 · Getting Started with Compose

Understand composition, layouts, resources and state; build a daily water counter.

Module 1Available

Introduction to Android & Jetpack Compose

What Android is, why Kotlin and Jetpack Compose power modern apps, and what declarative UI really means.

~28 min6 topicsStart
Module 2Available
Animated lesson

How Android Works: From Code to App

Follow an animated journey from Android Studio and Kotlin source through compilation, packaging, installation, and the running app.

~25 min6 topicsStart
Module 3Available

Setting Up Android Studio

Install the tools, create your first Compose project, and run it on an emulator or device.

~26 min6 topicsStart
Module 4Available

Your First Composable

Meet @Composable, setContent, Text, and Preview; learn how editor previews and device runs complement each other.

~24 min6 topicsStart
Module 5Available
Animated lesson

Android Callback Methods

Explore animated Activity lifecycle scenarios and see how Android callbacks differ from the event callbacks your UI receives.

~30 min6 topicsStart
Module 6Available

Composable Functions & Previews

Write reusable composables, pass parameters, and understand recomposition and the UI tree.

~26 min6 topicsStart
Module 7Available

Text and the Modifier System

Style text and master Modifiers — the chainable system that sizes, spaces, and decorates every composable.

~28 min6 topicsStart
Module 8Available

Text: Typography, Layout & Rich Content

Build readable text with theme typography, alignment, wrapping, ellipsis, styled spans and selection. Explore font scaling in an interactive lab.

~45 min6 topicsStart
Module 9Available

Images, Icons & Resources

Show images and Material icons, and use Android's resource system for strings, colors, and drawables.

~26 min6 topicsStart
Module 10Available

Image & Icon: Resources, Scaling & Semantics

Load local assets, compare Crop and Fit, shape images, control icon tint and write meaningful descriptions. Experiment with image bounds in a visual lab.

~45 min6 topicsStart
Module 11Available

Layouts: Column, Row & Box

Arrange UI with the three core layout composables and control spacing, arrangement, and alignment.

~30 min6 topicsStart
Module 12Available

Row, Column & Box: Constraints in Practice

Understand measurement, weight, alignment, stacking and scrolling, then compose a reusable layout that handles long content and larger fonts.

~45 min6 topicsStart
Module 13Available

State with remember & mutableStateOf

The heart of Compose — how state drives the UI, with remember, mutableStateOf, and your first interactive app.

~30 min6 topicsStart
Module 14Available

Prcatice more

Practice your Phase 1 skills with ten simple Compose apps. Follow a project guide, build one screen, and check your work using complete source and downloads.

~10 min4 topicsStart
Phase capstoneProject workshop

Phase 1 Capstone · Daily Water Counter

Track up to eight glasses of water on one screen. Add a glass, undo one, or reset the count. Practice a single saved UI value and button callbacks; this is a counter exercise, not health advice.

1–2h build9 topicsBuild

Phase 2 · Building Interactive UIs

Create forms, lists, themes and accessible layouts; build a packing checklist.

Module 16Available

State Management & State Hoisting

Make composables reusable and testable by hoisting state — the key Compose design pattern.

~28 min5 topicsStart
Module 17Available

Handling User Input

Buttons, text fields, checkboxes, switches, and sliders — building interactive, validated forms.

~30 min5 topicsStart
Module 18Available

TextField: State, Validation & Keyboard Behavior

Trace input events into state, build helpful validation, manage focus and IME actions, and compare value-based and state-based text APIs.

~55 min6 topicsStart
Module 19Available

Button, IconButton & FAB: Actions That Work

Choose action emphasis, use content slots, model enabled and busy states, and make labeled buttons, icon actions and floating actions accessible.

~40 min6 topicsStart
Module 20Available

Checkbox, Switch, RadioButton, Slider & Chips

Match each control to a selection model, hoist values, make entire labeled rows accessible, and calculate slider steps correctly.

~50 min6 topicsStart
Module 21Available

Lists with LazyColumn & LazyRow

Display long, scrolling lists efficiently with lazy composables — the right way to show data.

~30 min5 topicsStart
Module 22Available

LazyColumn, LazyRow & Grids: Identity and State

Build efficient lists and grids with stable keys, explicit empty states, immutable updates and a clear owner for scroll and row state.

~50 min6 topicsStart
Module 23Available

Material Design 3

Build beautiful, consistent UIs with Google's Material 3 components and design system.

~28 min5 topicsStart
Module 24Available

Card, Surface & ListItem: Reusable Content

Choose Material containers, understand tonal and shadow elevation, use content colors and slots, and give interactive content clear ownership.

~40 min6 topicsStart
Module 25Available

Scaffold, App Bars & Structure

Give apps their standard structure with Scaffold, top bars, FABs, and snackbars.

~28 min5 topicsStart
Module 26Available

Scaffold, App Bars, NavigationBar & FAB

Assemble screen slots, apply Scaffold padding once, reason about system insets, and distinguish local destination selection from a navigation back stack.

~50 min6 topicsStart
Module 27Available

Dialogs, Menus, Snackbars & Progress

Represent transient UI with state, separate confirmation from dismissal, anchor menus, launch snackbars from events and show truthful progress.

~50 min6 topicsStart
Module 28Available

Styling, Theming & Dark Mode

Craft a custom theme, support dark mode, and use dynamic color (Material You).

~28 min5 topicsStart
Module 29Available

Adaptive Layouts & Accessibility

Build for changing window space, large text and assistive technology with responsive layouts and meaningful semantics.

~35 min6 topicsStart
Phase capstoneProject workshop

Phase 2 Capstone · Packing Checklist

Build a packing checklist: add a name, mark an item packed, and remove a row. Learn forms, immutable list updates, callbacks, and stable IDs. The list intentionally stays in memory; permanent storage comes later.

2–3h build10 topicsBuild

Phase 4 · Data & Persistence

Learn coroutines, Flow, databases and APIs; practice persistence with a reading log.