This book covers a broad array of topics, it covers none of them in real depth and it is really really focused on Android - as opposed to Java. For my situation - it was perfect.
As a "read in a week, do the examples and lean a hell of a lot" type of book - it does the job well. If you know nothing about Android, want a crash course in the possibilities, and some basic intro on to how to realise them - this is the book you want. It's short, it's to the point and it will kick-start you into development. It's also way more digestible than the online docs if you're just starting out.
It will not turn you into an Android development ace; although it's such a new technology, you may be mistaken for one when you open your mouth. You'll certainly be able to "talk" a reasonable game when you're finished. If you are looking for a detailed Android reference or advanced programming manual type of thing - it's the wrong book.
It focuses on Android - not Java. You will learn NOTHING about Java programming, the pages deal exclusively with the Android system, and how to program it USING Java.
The book is divided up into 4 sections:
Section I : Introducing Android
Chapter 1 : Gets the tools set up (Eclipse IDE, Android Development Kit plug-in and Android SDK) and has you compiling the obligatory "Hello World" project.
Chapter 2 : Takes you on a 5 minute tour of the Android system from bottom to top. It's useful, especially if like me you come from a non-mobile development context. Android handles
application life-cycle differently because of the resource constrained devices it's typically hosted by; this has major implications for your application implementation.
Section II : The Basics (Uses the construction of a basic Sudoku game as it's vehicle for teaching throughout the section)
Chapter 3 : User interface (Screens, Dialogue boxes, Menus, Buttons etc.)
Chapter 4 : 2D Graphics (draw your Sudoku grid / numbers)
Chapter 5 : Multimedia (Audio / Video...to add those essential Sudoku sounds...)
Chapter 6 : Storing Local Data (remembering Sudoku options - handling saving of current game data when the game is paused [e.g. when a call comes in mid-game and Android context
switches out your application])
Section III : Beyond the Basics
Chapter 8 : Location and Sensing - using the host of other sensors (GPS, Accelerometer, light-meter, orientation etc) your device may have.
Chapter 9 : SQLite - using the ever-popular SQLite embedded database that comes with Android.
Chapter 10 : 3D Graphics - using the Android implementation of OpenGL.
Section IV : The Next Generation
Chapter 11 : Multi-touch - how to
Chapter 12 : There's no place like home - creating widgets / live wall-paper
Chapter 13 : Write once, Test Everywhere - advice and tips on debugging / testing when faced with a large array of devices already in the wild.
Chapter 14 : Publishing to the Market - a basic overview of getting your application to those fee-paying mobile junkies.
My one gripe with this book is in Section II - you're in the mix...building Sudoku and it's done in a nice, incremental manner: you write a little code, compile it up and see it run. Gradually the game comes together and you get a sense of satisfaction from watching it do just that. Then, at a certain point, you'll find yourself writing code that uses functions you've not written yet....suddenly...POW...your code doesn't compile and you can't see the results of your new code. Obviously you dive forward, find the functions, implement them and hey presto, it compiles again. It's not a terminal thing; just out of the blue and a little frustrating.
Overall - I thought this was a really good book for someone a) who knows a bit of Java b) doesn't know Android at all. You could probably figure it all out from the online docs - but I bet you it will take a lot longer and won't be half as pleasant an experience! I'd recommend it to anyone starting out with Android.