Android Online Training Course: Android App Development Training
You can find the updated version here: Android Developer Roadmap
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, 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
- Thread
- Handler/Looper
- ThreadPoolExecutor
- RxJava
- Coroutines/Flow
- WorkManager
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
- Kotlin Flow API
Coroutines
- coroutines
- suspend
- launch, async-await, withContext
- dispatchers
- scope, context, job
- lifecycleScope, viewModelScope, GlobalScope
- suspendCoroutine, suspendCancellableCoroutine
- coroutineScope, supervisorScope
You can learn these topics here: Learn-Kotlin-Coroutines
Kotlin Flow API
- Flow Builder, Operator, Collector
- flowOn, dispatchers
- Operators such as filter, map, zip, flatMapConcat, retry, debounce, distinctUntilChanged, flatMapLatest
- Terminal operators
- StateFlow, SharedFlow, callbackFlow, channelFlow
You can learn these topics here: Learn-Kotlin-Flow
Data Format
- JSON: GSON, Moshi
- 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
Compose
- State: remember, rememberSaveable, MutableState
- Recomposition
- State hoisting
- Side-effects
- Modifier
- Theme
- Layout, List
- Gestures, Animation
- CompositionLocal
Common Design Patterns and Architecture
- Builder Pattern
- Singleton
- Dependency Injection
- Factory
- Observer
- Repository
- MVVM
- MVP
- MVI
- Clean architecture
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
You can find the updated version here: Android Developer Roadmap