Thursday, August 6, 2009

Android book roundup

While it may no longer be so much for reference purposes as in the past, I still really like to have good books at my disposal as a software developer. The DPI of a book still beats that of any screen and I can bring a book to the restroom without raising eyebrows from my girlfriend. In the following I will come with a brief but hopefully useful review of the 3 Android books I have in my library.

O'Reilly's Android Application Development


The book covers Android 1.1 stuff and is thus already a little dated. The content and organization is a odd and lackluster I find, for instance there's a chapter on signing and publishing your application which comes before chapters on basic views and widgets. It also doesn't come with an ebook/PDF so there's really not a whole lot going for this book, you are probably better of looking elsewhere.





Manning's Unlocking Android


Also covers 1.1 stuff, but better content and definitely better organized than the O'Reilly book. It comes with ebook/PDF as well as source code. It does make certain assumptions regarding the skills of the reader (for instance how the Eclipse IDE works, as examples are Ant based and needs to be imported) but I reckon that most readers would be quite satisfied with this book. It has foreword by none other than Java Posse's chief editor Dick Wall.




Commonware's The Busy Coder's Guide to Android Development


This is the most recent published book in this mini roundup. I only have the ebook/PDF version so I am not 100% sure whether the dead tree version covers 1.5/Cupcake as well. You actually get 3 books, incl. one on advanced topics such as reading sensory and camera data. It works by 1 year subscription basis and without DRM, so you are likely to also get 1.6 and 2.0 coverage by simply downloading the books at a later point in time when they have been revised. The material itself feels very to-the-point, yet it's actually the only book I have come across that provides a thorough introduction to lists - an essential part of any Android application.

In conclusion

It's my humble opinion that all the above books favors XML layout a bit too much, as it makes examples harder to read/type - and lets face it, it's limited how complex a layout will be on such a small screen anyway. This appears to be more or less dictated by the architecture of Android so not much to do about that. If you have developed in JSF vs. Wicket/GWT then you know what I'm talking about. :)

If you only want one book on the subject, "The busy coders guide to Android Development" would be the one to go for. The content, organization and presentation is just unmatched by any of the others, though "Unlocking Android" was by no means a bad book. However, "Android Application Development" was a disappointment.


Update
Since writing this initial entry, Romain Guy from the Android team have informed me on this thread, that XML is favored in order to have multiple resources set up declaratively such that Android can automatically select the best match depending on hardware and environment. That makes a lot of sense of course, even if I still think this is an aspect better introduced to the reader after having tried some basic UI building with Java in order to even out the initial learning curve. After all, Java provides beginners with familiarity, type-safety and code completion. Although I've talked to other developers who share this opinion (slides from a Danish JUG meeting), yours may of course vary.

Post a Comment