Programming Android contains an impressive coverage of what it takes to build an application for the Android platform. The book starts right where it should, with helping you set up Eclipse and the ADT plugins required for writing an Android app. Next, explanation is taken of some basics of Java. Certainly not enough to teach you Java, but rather a quick reminder of the things you are going to see while reading the examples in the book. The authors then show the reader the basic ingredients of an Android app (Views, the Manifest file, etc) and how all of the pieces relate to each other. Rather quickly, the reader is then launched into detailed explanations of not only the components and standard APIs used in Android, but also (and just as importantly) the best practices for which one should try to comply.
I was impressed by this book. Take a moment and look at the Table of Contents and you will see the exhaustive coverage of the book. I work on a large Android app during my day job and often try to read Android related books to make sure that I am doing things the best that I can. This book exposed several areas where I could improve my code. Best of all, while I may not currently use many of the features explained in the book, I now know where I can get the information when I take my app to the next level.
One thing not to miss is the introduction to Fragments. While certainly not exhaustive, it should give you a starting place for building apps that work with tablets and with phones.
My only complaint would likely be that the book doesn’t give many full examples of working code, beyond the initial setting up a project section. Because of the level of detail taken in each section, the authors do limit the code examples to explanation the topic of the chapter, rather than putting the code within a large context.