Introducing Google’s Mobile Development Platform
an Introduction to Programming Google’s Android OS.
One of the first questions the book tries to answer is, “What is the need for yet another platform for mobile devices, including some already built around Linux and Java?” The answer they give is that Android isn’t just an OS but an open-source environment that provides not only an OS but a host of components including audio/video playback, database, location sensing and other features that make developing applications easy.
Along with the Open Handset Alliance, they have a platform in the shape of the T-Mobile G1/HTC Dream handset is taking steps to create an official market for applications, App Market, an apparent play on Apple’s AppStore. Apple was right about the need for an AppStore; once you get past the early adopters, most people aren’t comfortable with the Internet equivalent of buying their software out of a car trunk. On the other hand, having one store where you need to go for everything sounds like Walmart at best, some kind of Cupertino corporatism at worst. Though as anyone who knows an iPhone user, having a ready set of apps readily available and billable to your mobile plan can’t be hurting Apple. So Google has got two things right: an open platform with available hardware and a way for developers to make money of the device.
What does the book teach?
After the first introduction to Android, the book takes you through installing the Eclipse-based IDE and creating the obligatory Hello World application. From then on, it’s into creating a simple Sudoku game while learning to develop user interfaces that will adapt to different layouts. One thing readers will notice is there are a lot of XL files to edit, which shows a bit how new Android is. It brought back memories of hand-editing AmigaDE packager files for the ill-fated AmigaDE/Intent system. AmigaDE tackled a lot of the problems inherent in writing applications where the screen orientation and size might vary greatly about eight years ago.
Besides the Sudoku game, there is a chapter on significant features of Android, including the database (SQLite), 3D graphics, using the WebKit-based browser and the location/orientation APIs. While there are many tutorials on individual features, coders looking for advice on how to create games for Android are left at Sudoku, though retro arcade games are undoubtedly possible.
The book’s layout is sparse, with plenty of black and white screen-shots of the application running in the emulator as well as code listings. Listings have a path above then so they can be found in the download-able source code. There are also several break-out boxes with hints and tips about things to watch out for or alternate ways of doing things.