Skip to Content

review of Busy Coder's Guide to Android Development

Since we are about to release Shazon, I thought it would be good to write about one of the books I found helpful in creating it. I didn't start by reading the book The Busy Coder's Guide to Android Development, but I wish I had.
 
Getting started with Android development is challenging. Installing the tools and building "hello world" is straight-forward and well documented, but it is a long way from there to a whole new application. So, the next place to turn is the web. I started by subscribing to the Android Developers group. It is not a gentle introduction by any stretch -- it is more arriving late at a crowded party. And sometimes its like walking into a bar room brawl, but that's another story. It didn't take too long before I recognized some expert voices. As you would expect, the google engineers know their stuff. (Special mention goes to Diane Hackborn, because she shows amazing patience with n00b questions.)
 
Some of the best posts to android-developers come from Mark Murphy. He doesn't work for Google, but he knows his stuff, he does a great job of explaining things, and he doesn't get drawn into the brawling. They were so good that they motivated me to look at commonsware.com and that's how I discovered The Busy Coder's Guide to Android Development. You can get the printed book from Amazon, or you can purchase a subscription from commonsware to get a soft copy (PDF).
 
Even though I love a bargain, and the print book is cheaper than the subscription, I decided to buy the subscription for a few reasons. First, it gives me free updates, so I don't end up with a out-of-date book on my shelves. (This is the point where my wife says "when are you going to build those shelves? its been forever!" She is right about that, but I can't start that project now; I have a blog to post.) Second, I can search the PDF, so I don't end up flipping through the book looking for all the places that mention "thread" or "ListActivity" or whatever. Third, Mark gets all the money, instead of a small author's percentage. (Hey, he's trying to make a living, too.)
 
As far as I can tell, Busy is technically accurate. I have version 2.0.3 of the PDF book, and I haven't noticed any mistakes in the details or in how the big picture is laid out. (I'm a little disappointed that I haven't found any problems because I'd like to reap a reward from the book bug bounty.)
 
I found that Busy strikes the right tone. It is conversational and relaxed, with a little humor, but moves at a good pace. I was relieved to see in the preface that he says "The book does not cover in any detail how to download or install the Android development tools..." Google documents that well, and you can easily find a dozen web sites that repeat those instructions. Busy introduces new topics by relating them to other toolkits or languages you might be familiar with ("This works similar to FlowLayout in Java/Swing..."). At least for me, that was a quick way to get oriented. If Android is your first framework, then those references will not help, but they don't interfere either. The explanations don't depend on knowing other frameworks; after all, this isn't "Android for C Programmers".
 
I suppose my only complaint is that most of the humor comes in the chapter and section headings. That wasn't a problem the first time I read the book, but it makes hard to find things using the table of contents. For example, "Now With More Savings" is the heading for the section that talks about saving configuration information (p 304). The humor isn't bad -- it doesn't make you wince -- it just makes it hard to look things up in the TOC.
 
As the preface says, you need to know a good amount of Java and object-oriented design to really understand this book: classes, anonymous classes, method overloading, callbacks, multithreading, etc. Busy doesn't teach those concepts or even explain them. I appreciated that because it means the book stays focused.
 
To sum it up, The Busy Coder's Guide to Android Development reads like a chef's tour of Android. Its conversational tone makes it easy to get a solid introduction to building Android applications, as long as you have the Java and O-O knowledge coming into it. I recommend it as a quick way to get started with Android.