Book Review for "Android 3.0 Application Development Cookbook"
The Android Novice's guide to doing just about anything.
Android 3.0 Application Development Cookbook
This book is presented in Packt's "CookBook" format, which means it is a series of how-to steps that show the reader how to accomplish some task. In this case, the book shows how to program Android devices using the Eclipse ADT plug-in.
Establishing the development environment was a bit troublesome in my case. I've done a little Android development in the past, but the machine I used was underpowered for the emulator, so I decided to set up Eclipse and my Android environment on my Fedora 13 quad-core. The book is of little value here-- pretty much you are told what you need, and are left on your own to get it set up. Luckily, I'm familiar with this sort of task, so things were running smoothly after the initial install and about a half an hour of Google'd help from other ADT users.
In the early chapters, the book is very explicit about how to set up your Eclipse project and which files to edit. The author takes no chances that the reader is unfamiliar with the environment, and spells everything out in perfect detail. Normally, I prefer printed books to electronic, but this is one case where an e-book would've been handy-- for code copying purposes. I spent my learning time dutifully typing in the author's suggestions, though, and was rewarded with properly running examples each time.
The first chapter is about 'Activities', which results in a window being presented on the device. (In my case, the emulator.) You are shown how to make an Activity, how to store state, how to send an 'Intent' (which is like a message that can be sent to another Activity or other receiver). This chapter spells out the steps in complete detail, so the reader should be assured of success if he has his development environment set up correctly. Later chapters omit some of the detail, but you are never given so little that you can't accomplish what you want. It's just the first chapter that sets the basics for the reader.
All the chapters are set up the same way. There is little or no 'academic background', each chapter is a series of step-by-step descriptions of how to accomplish some goal. I think this book will be a very effective reference for development, I imagine many copies will be kept close at hand.
There is surprising depth in the list of tasks this book teaches. Here's an incomplete list, to show you some of the things that are presented:
- Drawing your UI
- Making menus, context sensitive menus, shortcut keys and submenus
- Storing data on internal storage, external storage, the included SQLite database
- Detecting device orientation, using the accelerometer, detecting user gestures and the available sensors
- Communicating with the user through Alerts, progress bars, status bars and dialogues
- Adding graphics, rotating images, and using animation
- Playing audio files and recording video, audio and taking pictures
- Sending and receiving phone calls and SMS messages, using internet content
- Detecting the device location, using Google maps and other mapping skills
Sounds like a pretty cool list, huh? Each of these tasks is shown in a manner that isolates it from other problems, so you are basically shown the way to write a tiny application that showcases just the feature you are interested in.
Readers looking for lots of explanatory text about the big picture are going to be disappointed-- this book is all about getting the task done. In that regard, it is quite effective.
All things considered, I liked this book and would recommend it to anyone who is doing Android development. Beginners will get a decent introduction to some small projects (they'd better be ready to augment their knowledge with the online APIs and other sources, though.) More experienced developers will probably know some of the material, but can surely learn from the wide variety of capabilities explored. Basic skills necessary are fundamental Java, a little knowledge of XML, and a willingness to follow instructions and look for details elsewhere. If you've got those, you can develop for Android with this book.
The book can be found here.
Happy Droid Development!