For the first installment of Wander Through the Library, we are going to look at the Head First Android Development from O’Reilly. Now this book was my second attempt at learning Android. Like all Head First books, it treats you like a kindergartner while teach the concept.
I remember eagerly waiting for the first edition to come out. My first programming book for Android, Hello Android, confused the hell out of me. It was too dense for where I was as a developer. It took leaving the Microsoft universe before I had the tools to read that book. This book mostly got me over that hump.
So what is so great about Head First Android Development?
Probably the single best thing about this book is the fact they show you the full code. What do I mean? It takes a concept and flushes it out with a snippet of code. Then has you work on it as you integrate it into the larger mass. This is not so different from other books. Where other books assume you put it in the correct spot, this book gives you a stupid check. It gives you the full code. The ability to see where you messed up makes it so much easier and faster to fix. It’s a small detail but makes all the difference in the world when tackling something that is foreign to you.
Because it is so basic, most of the examples still work. That is a testament to the fundamentals that even after 5 years so much of it still works without complaint.
Where is the bad?
The bad is present. First the fatal flaw with the entire Head First line is that you don’t go very deep. That is fine because that is not the book to do that. That being said, it’s a little sad when you read 600+ pages of something and are still very amateurish in your skill set.
The biggest issue I had was the fragments chapter was bad. I just could not wrap my head around fragments from this book and had to learn that elsewhere. The chapter was long and afterwards, I felt muddled. This book was pretty solid from one end to another but without the fragment knowledge, the second half of the book became incomprehensible.
Next, though a smaller issue, we used the root Fragment, Activity and other classes rather than the backward compatible version that is default in the IDE. You never learn to deal with this in the book and so at the end, the world is still scary as the default project is foreign looking to you.
Finally, several things are no longer valid. This is not the fault of the book but the ecosystem has changed and the printed words did not magically adjust. I would definitely get the most current version of the book. Google is really bad about changing things so any age on a book messes pretty hard with the examples.
For instance, there is not blank activity anymore so you have to choose between a basic or empty activity. Thankfully, they show all the code in the book so I was able to take a empty activity and make it work without too much issue. It is annoying but for someone with less experience I could see issues like this one becoming so frustrating that you give up.
Overall, I liked the book. I thought it was a solid introduction to Android. It needs to be paired with an additional beginners book so that you can get the full picture. That is not a flaw of the book but a flaw of the book line. So I did not have much issue with the $50 I spent on it a couple of years ago. If you can handle a bit of a dated book and have a backup for fragments, this is a solid, if incomplete introduction to Android. The perfect remedy if you beginners book is too dense for you.