Update to the bestseller now features the latest release of the Android platform Android is a powerful, flexible, open source platform for mobile devices and its popularity is growing at an unprecedented pace. This update to the bestselling first edition dives in to cover the exciting new features of the latest release of the Android mobile platform. Providing in-depth coverage of how to build mobile applications using the next major release of the Android SDK, this invaluable resource takes a hands-on approach to discussing Android with a series of projects, each of which introduces a new feature and highlights techniques and best practices to get the most out of Android. Providing concise and compelling examples, Professional Android Application Development is an updated guide aimed at helping you create mobile applications for mobile devices running the latest version of Android.
Reto is an experienced software developer with over 10 years experience in GUI application architecture, design, and development. He’s worked in a number of industries, including offshore oil & gas and finance, and is now a developer advocate at Google.
Always interested in emerging technologies, Reto has been involved in Android since the initial release in 2007. In his spare time he tinkers with a wide range of development platforms including WPF and Google’s plethora of developer tools.
As it is with any other book teaching new technology, I have a certain set of expectations about the presentation and the material. Based on many such books I have read, those that I can call successful share certain traits. Mr. Meier's book is definitely not bad but on my scale it floats somewhere in between "mediocre" and "ok."
First the good part: the book is aimed to those unfamiliar with Android development and it tries to cover a lot of material. So at the very least, this book could be used later as some kind of reference, when trying to get started utilizing some feature of the system.
In general, the presentation of material is decent. A feature is explained, some snippets of code are shown. Then the feature is utilized in the "main" app that is built throughout the book.
On to the bad part (which is always more fun, isn't it?). A successful book on technology X should have a number of practical, diverse, and reasonably complex examples which are build ground-up with increasing degree of sophistication to show practical application of various aspects of the new technology. This book has only one such example (an earthquake monitoring application) and it generally fits the bill covering various subsystems, but it is a very specific type of an app. It would be nice to have several different examples (e.g. a media player, a photo editor, etc.)
A good book this kind must have exercises, ideally of varying degree of difficulty. They drive the point home, forcing the reader to try different things, including those that are outside of the scope of the chapter in question. This book has none.
Now it might be me, but the presentation of some of the core concepts of Android development was not all that clear or practical. Two examples particularly stand out: one is the topic on activity lifecycle. While discussing in detail what it means from the system point of view when the activity is in a certain state is useful, there is very little (if any) information on how these states and transitions are related to the user actions (e.g. what happens to the activity when user starts another app, when a call comes in, when he turns the phone off, etc. etc.) Another such example is the discussion of Adapters - after having read the topic several times, I am still unclear about the relationship between the Adapter and the View it tries to populate.
Last things from the nitpicking department: the book would definitely benefit from more screenshots and less cheesy icons (pretty much every tiny piece of code is adorned with an icon reminding the reader that it can be downloaded from Wrox.com). Finally, I found the way code snippets are typeset (font and formatting) a bit poor as it makes them blend with the text. Using a more optimal font and possibly putting snippets in a box with a border might help this.
To summarize, it's not an inherently bad book and hopefully the next edition will improve on many such points. In the meantime, I recommend carefully shopping around as there may be a better book for picking up Android development.
This is the 'bible' of Android 2.x development, and retains that honour mainly because there aren't many serious contenders for the crown.
Seriously, this book could have been so much better. Yes, it covers much of the ground you need to cover to get up and running with android development. But it is not very good for (a) diving in like a cookbook: too many examples cross multi-chapter boundaries so the 'quick lookup' becomes 20 minutes of cross-referencing (b) understanding why to do things one way over another. Typically, examples are just tutorials walking through "one way to do it", with no discussion or critique of alternatives, and (c) it also stops short of covering (critical?) topics like consuming web data (json / xml) and how to design applications accordingly.
In summary, I got my money's worth, it is just a shame this couldn;t have been the 'perfect' reference for android development.
As an experienced web developer with no mobile dev experience, I found this book a great introduction to Android and mobile development in general. It wasn't super in-depth or tedious, but it provided an extra level of explanation that isn't present in the official online Android documentation. Some of the examples could have been better explained (especially some of the graphics stuff, but perhaps he assumes some knowledge of that already). This book would have gotten a 5 star rating from me, but there were some notable typos, including one early on about the lifecycle of Activities that was subtly wrong but completely messed up my understanding of Activities for a while
Didn't work for me, gave up on it. I don't like technical books that don't present explanations for the example code, or even more egregiously, make comments like "this is really important and you need to understand it, but it is beyond the scope of this book"