There are a lot of topics that need be covered when learning Android development.
Beginner
- Buttons / Event Handlers / Event Listeners / Selectors
- Activities and Activity Life Cycles
- Intents and Intent Filters
- Strings and String Resources
- XML and Java code
- Basic Views (TextView, ImageView) and View Groups
- Layouts (Relative, Linear, Table, Grid)
- Other Components (LargeText)
- Log, Toasts, SnackBar
Intermediate
- Dynamic Views (ListViews / GridViews / RecyclerView)
- Adaptors and Inflators
- Navigation (Menu, ActionBar/ToolBar, BackStack, SlideDrawer)
- Fragments
- Graphics (Animations, Material Design, Custom Drawing of Views)
- Multi-screen and orientation
- WebView
- Storage (XML / JSON)
- Google Store (Submitting, Integrating Ad)
- Media (Audio / Video)
- Form elements (Radio buttons / Checkboxes)
- Model View Controller (MVC)
Advanced
- Networking (JSON, HTTP requests, WebView)
- Data Storage (SQLite, Shared Preferences)
- Database and SQLite3 (DBMS)
- APIs Sensors (Accelerators, GPS, Gyroscope, camera, Bluetooth, geolocation)
- Services
- Content Provider
- Notifications
- Broadcast Receiver (battery level / email notification)