← all projects

learn this topic (theory + diagrams) →

android-developer-roadmap

The complete, stage-by-stage map to becoming an Android engineer — from Hello World to shipping on the Play Store.

View on GitHub ↗Javaupdated 2d ago

AndroidKotlinRoadmapDocs

High-level design

A dependency-ordered roadmap rather than a flat topic list — every stage assumes the ones before it, so you're never asked to understand a ViewModel before the Activity lifecycle.

Foundation

Java, Kotlin, Android Studio, project structure

Core concepts

components, Intents, lifecycles

UI

Views, ViewGroups, RecyclerView, Fragments

Persistence

SharedPrefs, DataStore, Room, files

Threading

threads, Coroutines, Flow, WorkManager

Networking

Retrofit, OkHttp, JSON, OAuth2

Architecture

MVVM/MVI, DI, Clean Architecture

Testing & release

unit/instrumentation, debugging, signing, Play Store

The nine stages

Each stage assumes the ones before it. The stages that map to a runnable repo in this collection link straight to it.

  1. 1

    Java, Kotlin, Android Studio — the language and the tool.

  2. 2

    Components, Intents, and the Activity lifecycle.

  3. 3
    User interface

    Views, ViewGroups, RecyclerView, Fragments.

  4. 4
    Persistence

    SharedPreferences, DataStore, Room, files.

  5. 5
    Threading & concurrencyLearn CoroutinesLearn Flow

    Threads, then Coroutines, then Flow, then WorkManager.

  6. 6
    Networking

    OkHttp, Retrofit, JSON, OAuth, status codes.

  7. 7

    MVVM / MVI, dependency injection, Clean Architecture.

  8. 8
    Testing & quality

    Unit and instrumentation tests, debugging, memory.

  9. 9
    Advanced & release

    Compose, Firebase, security, signing, the Play Store.

Low-level design

The roadmap's value is the arrows, not the boxes — the order is the content.

  • Nine stages in strict dependency order, each rendered as a collapsible topic table
  • A timeline diagram maps the stages onto a week-by-week progression
  • The repos in this collection map one-to-one onto stages 1–7, so 'learn it' always means 'build and run it'