This is billed as the prequel to Beginning Android 2 (which is a great book by the way) and is billed as 'User level: Beginner' but throws concept after concept at you, introducing new stuff and not explaining it all, adding 'will cover in chapter n' which makes it hard to follow.
I'm also a bit thrown by some of the explanations as they seem contradictory. On occasion difficult topics are glossed over while simple stuff is explained in detail.
I got this book to refresh my Java skills as I learnt Java at University over a decade ago and I have forgotten most of the technicalities of the language, not to mention that it has moved on somewhat. I found a few concepts in 'Beginning Android 2' confusing and thought that this book would make an excellent accompaniment but so far it has only led to more questions.
Have I learnt anything form it? Undoubtedly.
Has it been enjoyable? No.
Would I recommend it? No, not unless you are taking a Java class where you can get stuff explained.
Will probably make a useful language reference down the line.
To be fair to the author, he appears to know Java inside out, but his ability to communicate that knowledge isn't the best.