Android App Dev

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