Skip to content

Android Roadmap

  • Roadmap: https://roadmap.sh/android

1. Pick a Language

  • 1.1 Kotlin
  • 1.2 Java

2. The Fundamentals

  • 2.1 Development IDE
  • 2.2 Basics of Kotlin
  • 2.3 Basics of OOP
  • 2.4 Data Structures and Algorithms
  • 2.5 What is and how to use Gradle?
  • 2.6 Create a Basic Hello World App

3. Version Control

  • 3.1 Git

3.2 VCS Hosting

  • 3.2.1 GitHub
  • 3.2.2 Bitbucket
  • 3.2.3 GitLab

4. App Components

4.1 Services

  • 4.1.1 Content Provider
  • 4.1.2 Broadcast Receiver

4.2 Activity

  • 4.2.1 Activity LifeCycle
  • 4.2.2 State Changes
  • 4.2.3 Tasks & Backstack

4.3 Intent

  • 4.3.1 Implicit Intents
  • 4.3.2 Explicit Intents
  • 4.3.3 Intent Filters

5. Interface & Navigation

5.1 Jetpack Compose

5.2 Layouts

  • 5.2.1 Frame
  • 5.2.2 Linear
  • 5.2.3 Relative
  • 5.2.4 Constraint
  • 5.2.5 RecycleView

5.3 Elements

  • 5.3.1 TextView
  • 5.3.2 Dialogs
  • 5.3.3 ImageView
  • 5.3.4 Drawer
  • 5.3.5 Toast
  • 5.3.6 Buttons
  • 5.3.7 Tabs
  • 5.3.8 ListView
  • 5.3.9 Fragments
  • 5.3.10 Bottom Sheet
  • 5.3.11 EditText
  • 5.3.12 Animations

5.4 App Shortcuts

5.5 Navigation Components

6. Design & Architecture

6.1 Architectural Patterns

  • 6.1.1 MVI
  • 6.1.2 MVVM
  • 6.1.3 MVP
  • 6.1.4 MVC

6.2 Design Patterns

  • 6.2.1 Repository Pattern
  • 6.2.2 Builder Pattern
  • 6.2.3 Factory Pattern
  • 6.2.4 Observer Pattern

6.3 Dependency Injection

  • 6.3.1 Dagger
  • 6.3.2 Hilt
  • 6.3.3 Koin
  • 6.3.4 Kodein

6.4 Flow

  • 6.4.1 RxKotlin
  • 6.4.2 RxJava
  • 6.4.3 LiveData

7. Storage

  • 7.1 Shared Preferences
  • 7.2 DataStore
  • 7.3 Room Database
  • 7.4 File System

8. Network

  • 8.1 Retrofit
  • 8.2 OkHttp
  • 8.3 Apollo-Android

9. Asynchronism

  • 9.1 Coroutines
  • 9.2 Threads
  • 9.3 RxJava
  • 9.4 RxKotlin
  • 9.5 WorkManager

10. Common Services

  • 10.1 Authentication
  • 10.2 Crashlytics
  • 10.3 Remote Config
  • 10.4 Cloud Messaging
  • 10.5 FireStore
  • 10.6 Firebase
  • 10.7 Google Admob
  • 10.8 Google Play Services
  • 10.9 Google Maps

11. Linting

  • 11.1 Ktlint
  • 11.2 Detekt

12. Debugging

  • 12.1 Timber
  • 12.2 Leak Canary
  • 12.3 Chucker
  • 12.4 Jetpack Benchmark

13. Testing

  • 13.1 Espresso
  • 13.2 JUnit

14. Distribution

  • 14.1 Signed APK

14.2 Ways to Distribute

  • 14.2.1 Firebase Distribution
  • 14.2.2 Google Playstore