Android Table of Elements

A Learning Roadmap for Android Developers

Learning Android development can be confusing. There's so much to learn; what do do you need to know, and in what order should you learn it?

That's why the raywenderlich.com Tutorial team put together this Android Table of Elements. This is a learning roadmap for Android developers: everything you need to learn, in a recommended step-by-step order.

You can click each element to see some recommended learning resources. The vast majority are 100% free, made by the community, for the community. We've also highlighted a few optional premium video courses for raywenderlich.com subscribers.

Start with the basic elements, then gradually dive deeper, and see your knowledge... react! :]

light-green-1
light-green-2
light-green-3
light-green-4
dark-green-1
dark-green-2
dark-green-3
dark-green-4
blue-1
blue-2
blue-3
blue-4
purple-1
purple-2
purple-3
purple-4
pink-1
pink-2
pink-3
pink-4
red-1
red-2
red-3
red-4
orange-1
orange-2
orange-3
orange-4
light-orange-1
light-orange-2
light-orange-3
light-orange-4
yellow-1
yellow-2
yellow-3
yellow-4
turquoise-1
turquoise-2
turquoise-3
turquoise-4
darker-green-1
darker-green-2
darker-green-3
darker-green-4
dark-blue-1
dark-blue-2
dark-blue-3
dark-blue-4
other-purple-1
other-purple-2
other-purple-3
other-purple-4
other-pink-1
other-pink-2
other-pink-3
other-pink-4
other-red-1
other-red-2
other-red-3
other-red-4
other-yellow-1
other-yellow-2
other-yellow-3
other-yellow-4
other-light-green-1
other-light-green-2
other-light-green-3
other-light-green-4
other-dark-green-1
other-dark-green-2
other-dark-green-3
other-dark-green-4
grey-1
grey-2
grey-3
grey-4
grey-5
grey-6
grey-7
grey-8
0 Getting Started
An 1 Android
Kt 2 Kotlin
3
4
5 Kotlin Language
Cl 6 Collections
Nu 7 Nullability
Gn 8 Generics
Sc 9 Sealed Classes
10
Fp 11 Functional Programming
12
13
14
15 IDEs
As 16 Android Studio
Tp 17 Live Templates
18
19
20 App Components
Ac 21 Activities & Fragments
In 22 Intents
Sv 23 Services
24
25 User Interface
Md 26 Material Design
Rv 27 RecyclerView
Ul 28 UI Layouts
Cv 29 Custom Views
30
Ay 31 Accessibility
Bi 32 UI Binding
Cl 33 ConstraintLayout
Cf 34 Custom Fonts
35
Ts 36 Themes & Styles
Vp 37 ViewPager
No 38 Notifications
39
40
Ln 41 Localization
At 42 Android 10 UI
43
44
45 Hardware and Tools
Ca 46 Camera
Me 47 Memory
Mt 48 Media & Tools
49
50 Graphics and Animation
Im 51 Images
An 52 Animation
Mo 53 MotionLayout
Tr 54 Transitions
55 Data Persistence
Sp 56 SharedPrefs & Filesystem
Rs 57 Room & SQLite
Fb 58 Firebase
59
60 Networking
Rt 61 Basics & Retrofit
On 62 Other Networking
63
64
65 Maps and Location
Gm 66 Google Maps
Lo 67 Location
68
69
70 Architecture
Mp 71 MVP
Mv 72 MVVM
Mi 73 MVI
Ca 74 Clean Architecture
75 Dependency Injection
Dg 76 Dagger
Ko 77 Koin
78
79
80 Android Jetpack
Jc 81 Compose
Vm 82 ViewModel & LiveData
Pi 83 Paging Library
Jn 84 Navigation
85
Kx 86 KTX
87
88
89
90 Concurrency
Co 91 Coroutines
Rx 92 RxJava
Kf 93 Kotlin Flow
Bp 94 Background Processing
95 Testing
Td 96 Unit Tests & TDD
Ut 97 UI Tests
Mk 98 Mocking
99
100 Cross-Platform
Km 101 Kotlin Multiplatform
Fl 102 Flutter
Rn 103 React Native
104
105 Security
Eh 106 Encryption & Hardening
Sd 107 Securing Data
Bm 108 Biometrics
109
110 Build Configuration
Gr 111 Gradle
Fv 112 Flavors
Al 113 API Levels
114
115 App Publishing
Ps 116 Play Store
Ia 117 Instant Apps
Ab 118 App Bundles & Slices
119
120 Machine Learning
Ml 121 ML Kit
Tf 122 TensorFlow
123
124
125
126
127
128
129
130 Also Good to Know
Ar 131 ARCore
Gs 132 Google Assistant
Kr 133 Ktor
Aw 134 AWS Lambda
135
Gc 136 Google Cloud Platform

Develop a passion for learning. If you do, you will never cease to grow.

— Anthony J. D'Angelo