Learn Android

Five topics, in dependency order.

The hands-on path to becoming an Android engineer — every topic pairs a written explanation with a runnable repo, a diagram, and the concepts you need to internalise. Work top to bottom.

Explore the path

Kotlin Coroutines

Lightweight threads — async code that reads top to bottom.

A coroutine is not a thread. It's a unit of work that can suspend, freeing its thread, and resume later. Structured concurrency organises them into a tree: cancel the scope, and every coroutine in it is cancelled.

#suspend#dispatchers#scopes#structured-concurrency

CoroutineScope (viewModelScope)

launch { }

suspend · resume

async { }

await() → result

cancel the scope → every child is cancelled

All topics