July 11, 2012

Introduction to Android Development

We are excited to announce the release of the first in a series of courses on Android programming: Course 251, Introduction to Android Development. This one-week introduction leads directly to Course 252, Intermediate Android Development, which will come out later this summer. (A one-week, accelerated Course 255 that runs the gamut will be available at that time as well.)

Though introductory in nature, Course 251 offers a detailed treatment, meant to get serious Java developers well on their way to effective and expert use of the Android API and OS. In keeping with Capstone's general orientation toward larger IT enterprises, we've designed whole Android curriculum from the perspective of the corporate application environment, trying to illustrate not just the neat tricks we make a phone do, but how we can integrate mobile devices into existing enterprise infrastructure.

Insurance screenshotsIndeed, the primary case study, which spans the introductory and intermediate courses, functions as the client end of a multi-tier Java-EE application. It is a field app for insurance adjusters, backed by a RESTful web service on a hypothetical corporate server, with a JPA persistence tier and fully-worked relational database (15 tables, 979 rows) behind it. The final version of the Android application involves 61 Java classes and 45 distinct resource files, and illustrates a range of features:

  • A custom application object to centralize state
  • Custom list views, adapters, and item layouts, including informational graphics implemented as Android drawables
  • Dynamic table-building
  • Low-level touch event handling and gesture detection
  • Options and context menus
  • Custom dialogs
  • A custom theme
  • Use of the remote web service, backed up by local storage for intermittent offline operation, with automated synchronization at the next service connection
  • Multi-threading using asynchronous tasks
  • An Android service that polls the web service for schedule updates and posts broadcast notifications
  • The ability to take photos and upload them as part of a claim adjustment
  • A map view of the user's schedule, with custom markers showing the times and locations of appointments

And as usual for a Capstone course there is a wealth of other working example and exercise code: a flight-booking application, an alarm, games, a drawing application, and many more. The course has been fully tested on the latest Android SDK -- version 2.0 -- and all lab work runs on Eclipse Juno. The course targets the 2.3.3 version of the Android OS -- as even now the giant majority of Android devices are phones running either 2.2 or 2.3 -- and we will be releasing a tablet-savvy version of the curriculum later this year, to keep pace with the surge in adoption of Android 4.x.