- Java
- Kotlin
- Android Studio
- Project setup
- SDK manager
- Monitor/DDMS
- Emulator
- ADB
- Gradle
- Maven
- Support libraries
- Manifest
- Project structure
- Packages
- Code formatter
- Tech stack
- Templates and utilities
- Resources, news, dev support
- Application class
- Config class
- Activity
- Fragment
- Lifecycle
- Context
- FrameLayout, LinearLayout, RelativeLayout
- CoordinatorLayout
- StatefulLayout
- Basic views (text, button, checkbox, image, edittext, progress, webview)
- Toolbar, FAB, NavigationView, SwipeRefreshLayout
- Toast, Snackbar, AlertDialog
- Intro to RecyclerView
- Intro to ViewPager
- Include, merge
- Theme
- Style
- Text appearance
- Resources (dimens, colors, strings)
- Drawable (vector, shape, 9-patch)
- Selector
- Menu
- Bundle, Parcelable
- Start Activity
- Implicit Intent
- Intent filters
- Deep linking
- Permissions
- Notifications
- Broadcast receiver
- Intro to SharedPreferences
- Monitor
- Logcat utility
- Debugger
- Developer options in Settings menu
- Tools
- Model, View, ViewModel
- Responsibilities of layers
- Handling orientation change
- Libraries
- Layout file, variables
- Binding class
- Events (lambda, method reference)
- Include
- Expressions
- Observable (fields, collections, BaseObservable)
- BindingAdapter
- BindingConversion
- Data binding & MVVM
- Adapters
- ViewHolder pattern
- RecyclerView, LayoutManager
- ViewPager
- Generic adapters
- DialogFragment
- Basic dialogs (simple, items, single/multi choice, progress, custom)
- Bottom sheet
- Data binding in dialog
- Dialog theme
- Arguments and result
- Main thread
- Handler
- AsyncTask
- Service
- IntentService
- Basics (observable, special observables, observer)
- Creators (just, create, from)
- Operators
- Schedulers, compose
- Composite subscription
- Flowable, backpressure, cold VS hot
- Subject
- RxManager, RestRxManager
- RxBus
- OkHttp library
- Interceptors
- Retrofit library
- GSON parser library
- Call manager
- Network utility
- Retrofit & RxJava
- Glide
- Binding adapter
- Picking image from gallery/camera
- MediaPlayer
- ExoPlayer
- ORM (Room, DBFlow, ORMLite)
- Realm
- SharedPreferences, PreferenceFragment
- Web panel
- Firebase realtime database
- FCM
- Firebase & RxJava
- Google APIs Console
- Maps API
- Geolocation
- Property animations
- Animations with CoordinatorLayout
- Activity transitions
- Page transformer
- Unit tests
- UI tests
- Keystore
- Gradle script
- Build APK
- Run tests
- Play Store Developer Console
- CI
- Best practices
- Common mistakes
- Preventing memory leaks
- Android Coding Guidelines
- Google Design Guidelines