-
-
-
-
-
- - Android Developer Roadmap ---- A complete roadmap to learn Android App Development. This roadmap will help you in becoming a complete Android Developer. -
-
- - Blog by Amit Shekhar - -
- - Note: All the resources to learn all of the concepts in the roadmap will be provided on -- - amitshekhar.me - - -
- - - Get Mentorship: --
- - Roadmap to learn Android App Development --
-
-
- 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 - -
- -
- Activity
-
-
- Intents
-
-
-
-
- Types of Intent
-
-
-
- - Implicit - -
- - Explicit - -
- - - Intent Filter - -
- -
- Types of Intent
-
-
- Static User Interface
-
-
-
-
- View
-
-
-
- - Button, ImageView, TextView, EditText etc - -
- -
- ViewGroup
-
-
-
- - LinearLayout, RelativeLayout, FrameLayout, ConstraintLayout - -
-
- -
- View
-
-
- 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 - -
-
- -
- Image Loading
-
-
- Coroutines - You can learn these topics here:
-
- Learn-Kotlin-Coroutines
-
-
-
-
- - coroutines - -
- - suspend - -
- - launch, async-await, withContext - -
- - dispatchers - -
- - scope, context, job - -
- - lifecycleScope, viewModelScope, GlobalScope - -
- - suspendCoroutine, suspendCancellableCoroutine - -
- - coroutineScope, supervisorScope - -
- -
- Kotlin Flow API - You can learn these topics here:
-
- Learn-Kotlin-Flow
-
-
-
-
- - Flow Builder, Operator, Collector - -
- - flowOn, dispatchers - -
- - Operators such as filter, map, zip, flatMapConcat, retry, debounce, distinctUntilChanged, flatMapLatest - -
- - Terminal operators - -
- - StateFlow, SharedFlow, callbackFlow, channelFlow - -
- -
- Data Format
-
-
-
-
- JSON
-
-
-
- - GSON - -
- - - Flat Buffer - -
- - Protocol Buffer - -
- -
- JSON
-
-
- 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 - -
-
- -
- Foundation Components
-
-
- 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 - -
- - - Keep Learning and Improving - -
- - amitshekhar.me - - -
- - - Get Mentorship: -
-
- ❤️
-
-
-
- Found this project useful
- -
-
-
- Support by clicking the
-
- ⭐ - - button on the upper right of this page. -- ✌️ - -
-
-
- - License - Copyright (C) 2022 Amit Shekhar
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- -
- - Contributing to Android Developer Roadmap -- Just make a pull request. You are in! -
-