Week 1: The Java Programming Language
- The Android development ecosystem – Android Studio, Java, Android OS, Android tools
- The Java Programming Language
- Control flow
- Data types
- Functions and Closures
- Classes and Objects
- Memory Management (Garbage collection) in Java
- Assignments 1 and 2
Week 2: More Java essentials
- Dalvik VM and new options
- Strings
- Collections
- Packages in Java
- Assignments 3 and 4
Week 3: Object Oriented Programming for Android
- More on Classes and Objects
- Android based examples of classes and Objects
- Assignments 5 and 6
- Week 4 (Classes 7 & 8) Introduction to Android development
- Android Development fundamentals – Activity, Dynamic UI, App Layouts
- Essential ideas – MVC, Asynchronous programming, JSON and HTTP
- Assignments 7 and 8
Week 5: More on Views and Controllers
- List Views
- Intents
- Fragments
- Navigating between different screens of your app
- Arrays and array adaptors – accessing the Android address book
- Gestures
- Cleanly separating data from your views and controllers
- Assignments 9 and 10
Week 6: Data Persistence
- Data persistence strategy for mobile
- Storing user preference data using Shared Preferences
- Android independent, Local storage using SQLite
- Advanced SQLite with Content Providers
- Assignments 11 and 12
Week 7: Pre-built Android Frameworks
- Maps
- Social Framework – Facebook and Twitter
- Audio and Camera
- Assignments 13 and 14
Week 8: (Classes 15 & 16) Pre-built Android Frameworks – Continued
- Detecting connection type – Wi-Fi/4G
- Sensors – a gyroscope example
- Home screen widgets
- Security in Android Apps
- Mobile development – best practices. Covers the entire lifecycle of Android app development and various pitfalls and strategies for ensuring success in your Android projects
- Take-home project: A full featured Camera app complete with cloud storage of photos, Facebook login, Facebook share and filters