- Java
- Kotlin
- Android Studio IDE Overview
- Project Structure
- Java/Kotlin
- XML
- .gradle files
- Activity
- Activity Lifecycle
- Tasks & Back Stack
- Service
- Broadcast Receiver
- Content Provider
- Types of Intent
- Implicit
- Explicit
- Intent Filter
- View
- Button, ImageView, TextView, EditText, etc.
- ViewGroup
- LinearLayout, RelativeLayout, FrameLayout, ConstraintLayout
- RecyclerView
- ViewPager
- Spinner
- Canvas
- Bitmap
- Paint
- Drawables
- Strings
- Styles
- Fragment Lifecycle
- Fragment Manager
- ProgressBar
- Dialogs
- Toast & Snackbar
- Shared Preferences
- DataStore
- File Systems
- Database
- RoomDB
- Gradle
- Debug / Release Configuration
- Thread
- Handler/Looper
- ThreadPoolExecutor
- RxJava
- Coroutines/Flow
- WorkManager
- Memory Profiling
- Logging
- Systrace
- Exceptions & Error Handling
- Detecting and Fixing Memory Leaks
- Context Management
- Image Loading
- Glide
- Picasso
- Dependency Injection
- Dagger
- Networking
- Fast Android Networking Library
- Retrofit
- Multithreading
- RxJava
- Coroutines
- Kotlin Flow API
- Learn here: Master Kotlin Coroutines
- coroutines
- suspend, launch, async-await, withContext
- dispatchers, scope, context, job
- lifecycleScope, viewModelScope, GlobalScope
- suspendCoroutine, suspendCancellableCoroutine
- coroutineScope, supervisorScope
- Learn here: Kotlin Flow API
- Flow Builder, Operator, Collector
- flowOn, dispatchers
- Operators: filter, map, zip, flatMapConcat, retry, debounce, distinctUntilChanged, flatMapLatest
- Terminal operators
- Cold Flow vs Hot Flow: Cold vs Hot Flow
- StateFlow, SharedFlow, callbackFlow, channelFlow
- JSON
- GSON
- Flat Buffer
- Protocol Buffer
- GET/POST/DELETE/PUT/PATCH
- OkHttp, Interceptor
- Caching
- Retrofit with Coroutines/Flow
- Multipart request
- Read, Write Timeout
- OAuth 2.0 - Refresh and Access Token
- HTTP Status Codes
- Foundation Components
- AppCompat
- Android KTX
- Multidex
- Architecture Components
- LiveData
- ViewModel
- DataBinding
- Paging
- WorkManager
- Navigation
- Behavior Components
- Download Manager
- Media Playback
- Notifications
- Permissions
- Preferences
- Sharing
- Slice
- UI Components
- Animation & Transition
- Android Auto
- Emoji
- Palette
- Android TV
- Android Wear
- State: remember, rememberSaveable, MutableState
- Recomposition, State Hoisting, Side-effects
- Modifier, Theme, Layout, List
- Gestures, Animation
- CompositionLocal
- Builder Pattern
- Singleton
- Dependency Injection
- Factory
- Observer
- Repository
- MVVM, MVP, MVI
- Clean Architecture
- Local Unit Testing
- Instrumentation Testing
- FCM
- Crashlytics
- Analytics
- Remote Config
- App Indexing
- Dynamic Links
- Encrypt / Decrypt
- Proguard, R8
- .keystore file
- App Bundle
- Playstore