Android Development Learning Path
A Complete Learning path for Android Developer
I am Amit Shekhar, Co-Founder @ Outcome School, and have been continuously getting requests on different channels to help with the learning path for Android Developers. So, I decided to answer this and help learners. I am sure this is going to help many developers who are willing to become better Android Developers.
You just need to follow the following path for learning Android Development.
Let’s become friends on Twitter, Linkedin, Github, Quora, and Facebook.
You can find the Roadmap for Android Developer here: Android Developer Roadmap
Let's get started
Programming
- Java
- Kotlin
Android Studio
- Android Studio IDE Overview
- Project Structure — Java/Kotlin, XML, .gradle files
Android Component
- Activity — Activity Lifecycle, Tasks & Back Stack
- Service
- Broadcast Receiver
- Content Provider
Intents
- Types of Intent - Implicit, Explicit
- Intent Filter
Static User Interface
- View — Button, ImageView, TextView, EditText, and etc
- ViewGroup - LinearLayout, RelativeLayout, FrameLayout, ConstraintLayout
Dynamic User Interface
- RecyclerView
- ViewPager
- Spinner
CustomView
- Canvas
- Bitmap
- Paint
UI Resources
- Drawables
- String
- Styles
Fragments
- Fragment Lifecycle
- Fragment Manager
Support User Interface
- ProgressBar
- Dialogs
- Toast & Snackbar
Storage
- Shared Preferences
- File Systems
- Database — RoomDB
Build
- Gradle
- Debug / Release Configuration
Threading
- Threads
- Handler / Looper
Debugging
- Memory profiling
- Logging
- Systrace
- Exceptions
- Error Handling
Memory Leak
- Detecting and Fixing Memory Leaks
- Context
3rd Party Library
- Image Loading - Glide, Picasso
- Dependency Injection - Dagger
- Networking - Fast Android Networking Library, Retrofit
- MultiThreading - RxJava, Coroutines. Learn Kotlin Coroutines from here.
Data Format
- JSON — GSON
- Flat Buffer
- Protocol Buffer
Android Jetpack
- Foundation Components — AppCompat, Android KTX, Multidex
- Architecture Components — LiveData, ViewModel, DataBinding, Paging, Work Manager, Navigation
- Behaviour Components - Download Manager, Media Playback, Notification, Permissions, Preference, Sharing, Slice
- UI Component - Animation & Transition, Android Auto, Emoji, Palette, Android TV, Android Wear
Architecture
- MVVM
- MVI
- MVP
Unit Testing
- Local Unit Testing
- Instrumentation Testing
Firebase
- FCM
- Crashlytics
- Analytics
- Remote Config
- App Indexing
- Dynamic Link
Security
- Encrypt / Decrypt
- Proguard
- R8
App Release
- .keystore file
- App Bundle
- Playstore
If you need any help during your learning, do not hesitate to reach out to me via different channels: Twitter, Linkedin, Github, Quora, and Facebook.
Prepare yourself for Android Interview: Android Interview Questions
Thanks, and have a wonderful journey ahead.
Amit Shekhar
Co-Founder @ Outcome School
Clap, share if you like it and follow me for the updates.