Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Beginning Android 3
Murphy M., Apress, Berkeley, CA, 2011. 612 pp. Type: Book (978-1-430232-97-1)
Date Reviewed: Jun 15 2012

Android is an operating system that runs on Internet-connected mobile devices, like smartphones and tablets. With half a billion Android devices in operation around the world, developing applications for them seems like a tempting proposition. The 500,000 Android applications available on Google’s “Play” distribution service and the corresponding billions of downloads prove the point.

The Android application environment consists of a Linux kernel, numerous libraries written in C, and the Dalvik virtual machine, which is used to run Java code. The Java infrastructure is the basis for Android’s application framework, available as an application programming interface (API), which is in turn used by Android’s built-in and third-party applications. Applications can be installed via a USB cable, or, more commonly, downloaded from a location on the Web.

If you hope to write an Android application by reading through the API reference, think again. With 3,200 classes organized into 170 packages, the API is not something you can easily master and keep in your head. The application development process is also far from trivial. A bare-bones application consists of 12 files stored in 13 directories. Apart from the Java source code, these include a manifest, assorted property files, the Ant build instructions, the layout specification, string resources, and bitmaps for various resolutions. Once you have written an application, you will probably want to test it in an emulator, adjust it so that it plays well in diverse Android hardware and software variations, and upload it to an online store.

Mark Murphy’s hefty tome cuts away a lot of the complexity associated with building an Android application by guiding readers step-by-step through most of the process. The book’s 49 chapters are organized into seven somewhat uneven parts covering the basics, interactivity, tablets, data storage, noninteractive functionality, miscellaneous services, alternative application environments, and future challenges. Although the chapter titles may read like a laundry list, they are logically organized around features one will need when building more sophisticated applications. Furthermore, each chapter starts with an introduction explaining how a particular topic fits an application’s requirements. As a result, one can easily read the book from cover to cover, perhaps only skimming the numerous example code listings, to quickly get an overall picture of Android development. Many images depicting the appearance of an application will serve to guide the reader toward the desired functionality.

The writing is clear and crisp. Imaginative section titles, like “String Theory” and “In the Land of Menus and Honey,” lighten the prose, which, owing to the large amount of material covered, could otherwise be tiresome. In a number of places, Murphy ventures beyond the typical exposition of the official API, offering personal advice for particular problems, such as how to obtain styled formatted text (the Android API uses incompatible types for Java formats and styled text), how to work with diverse screen sizes, and how to handle the inevitable changes in the Android platform specifications.

The book’s contents show its substantial breadth. Fittingly for a platform that is used all over the planet, Murphy discusses internationalizing applications, handling diverse hardware platforms, and even writing applications that behave correctly with languages written right-to-left. Topics I would have liked to read more about include multimedia capabilities such as rendering graphics, sound input and output, using the camera, interacting with the touch screen, and accelerometers. Note, however, that this book stands between another Apress title [1] and three more advanced titles [2,3,4]. As such, it will serve as a great reference for an experienced programmer who wants to quickly dive into the development of moderately sophisticated Android applications.

Reviewer:  D. Spinellis Review #: CR140273 (1211-1098)
1) Jackson, W. Android apps for absolute beginners. Apress, Berkeley, CA, 2011.
2) Jordan, L.; Greyling, P. Practical Android projects. Apress, Berkeley, CA, 2011.
3) Komatineni, S.; MacLean, D.; Hashimi, S. Pro Android 3. Apress, Berkeley, CA, 2011.
4) Smith, D.; Friesen, J. Android recipes. Apress, Berkeley, CA, 2011.
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
General (D.4.0 )
 
 
Portable Devices (C.5.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Operating system concepts (3rd ed.)
Silberschatz A., Peterson J., Galvin P., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1991. Type: Book (9780201513790)
Aug 1 1992
Outline of CTRON
, Ohmsha, Tokyo, Japan, 1989. Type: Book (9784274074714)
Feb 1 1992
Computer systems software: the programmer/machine interface
Ellzey R., 1986. Type: Book (9789780574219657)
Jun 1 1989
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy