MAD-155
1. Set up the programming environment
2. Use version control
3. Create event driven apps
4. Capture user input
5. Select and implement appropriate data structures
6. Implement data storage
7. Connect to external resources
8. Design a user interface
9. Apply Agile project development techniques
a. Review of market place
b. Review of operating system constraints
c. Review of version control systems
d. Review of the Agile development process
II. The Android Development Environment: Android Studioa. Setting up the environment
b. Projects/ file structure
III. Supporting Different Devicesa. Multiple hardware vendors
b. Multiple OS versions
IV. The activity life cyclea. Event flows
b. Logic control
V. Working with Dataa. Input
b. Variables
c. Operators
VI. Programming structuresa. Iteration
b. Loops
c. Decision
VII. Data Collectionsa. Structures
b. Lists
c. Arrays
d. Dictionaries
VIII. Implementing Modular Programminga. Program fragments
b. Dynamic user interfaces
X. Interacting with other apps XI. Working with permissionsa. Hardware
b. External networking
XI. Multimediaa. Audio
b. Images
c. Video
d. Icons
XII. Design Patternsa. Master
b. Detail
XIII. Animation XIV. Persistent Dataa. Internal Storage
b. External Storage