This Master List covers the range of topics one should devote time and energy to learn and master to become a proficient Android mobile Application Developer. Knowing is half the battle.
-
- Primitive Data Types
- Collection Data Types
- Syntax
- Control Flow (Loops, If/Then Checks)
- Basic Error Handling (try/catch)
- Accessors and Modifiers (Encapsulation, getters and setters)
- Object-Oriented Programming principles specific to Java
- Nested Classes
- Annotations
- Documentation
-
- Linear Layouts
- Relative Layouts
- Constraint Layouts
- Independent Layouts for Portrait and Landscape
- Layouts for Embedded Fragments
-
- String Resource Files (strings.xml)
- Customizing Theme Colors (styles.xml)
- Dimensions (dimens.xml)
- Material Design Guidelines
- Animation
-
- TAGs
- Activity Life Cycle Callbacks
- Determine Orientation
- SaveInstanceStates
- Renaming Title of Activity shown in App Bar from Manifest
- Adding Menu Buttons
- Navigation (to other activities)
- Navigation (adding additional fragments to backstack)
- Passing data from one activity to another using Explicit Intents
- Capturing returned data from another activity
- Capturing returned data from another application
-
- Fragment Life Cycle Callbacks
- List Fragment
- Custom Fragments
- Adapters
- ListAdapter
- Custom Adapters (extends BaseAdapter)
- AdapterViews
- ListView
- GridView
- Menus in Fragments (Adds to App Bar)
- Creating Subscribers, Delegates, Listeners, Interfaces
- Animating Transitions
-
- Implicit Intents
- Explicit Intents
- Passing Data (Parcelable, Bundle, onActivityResult)
- Animating Transitions
-
- FileProviders
- ContentProviders
- SQLite CRUD
- Shared Preferences
- App Private Storage
- Protected Storage
- Public Storage
-
- AppCompat
- Asynchronous Tasks
- OnClickListeners
- Networking
- Broadcast Receivers (kind of on their way out)
- Services
- Notifications
- Pending Intents
- WebViews
-
- Firebase
- Realm
- OKHTTP
- Commons-IO
- Picasso