Let’s face it: I review plenty of Android books. Part of my job is to keep abreast of the resources out there for Android programmers, both novice and veteran, and as a result I often pick up books from big names like Wiley and O’Reilly. I rarely review small press books, but the description of “Android, A Complete Course”, by Mathias Seguy (with Yannick Bergès as the graphist and Thomas Hatcher as the translator) happened to catch my attention (as did the price tag of just under $13 USD for a full A-Z Android tutorial). After I had finished flipping through the book, I was amazed at how detailed it was and glad I dropped my lunch money on it. I definitely recommend this book, and I’ll take you through my thoughts on it so you can decide whether it is for you.
For starters, this book does exactly what it says on the tin. Right off the bat, it makes no illusions that its target audience is experienced Java programmers interested in learning Android or heading up an Android project for work. The author described it as a reference, saying:
“I wanted this book to be my companion when I code for Android, to be my reference on how to code. My main goal was to have a book that would allow me to be efficient in Android programming.”
I believe the book achieves this goal quite well. It is clearly written by a developer for developers, bypassing the confusing tutorial structure that many instructional programming books seem to have. Most of us don’t need hand-holding: we need to know which functions do what, when, and what objects they return. As a result, I really liked how practical this book is. So many of the aforementioned types of books are structured around softening the blow of learning a new language, OS, or framework. This book skips that, instead concentrating on useful references to functions and how to use them in your project. The code examples are so functional that you can simply copy/paste them, alter them for your own situation, and you’ll have a pretty solid code snippet at your fingertips.
As an example, let’s take a look at the GUI section. It gets to the code almost immediately and has breakdowns for the different types of TextViews, Buttons, Image containers, and other objects that exist in Android. The section is structured linearly, in such a way that I can easily reference a particular function or code block that creates a button or check box. At the end of each section, a small example combines all of the different concepts and functions listed before it. This serves the nice function of being both practical and instructional; if you don’t need it, you ignore it. If you do need it, it is clearly commented and uses the functions previously delineated. This structure is enormously helpful, especially to novice Android programmers!
Another good example is the Internet section. Unlike the GUI section, it is organized by use case, which is both interesting and sensible. Instead of the individual functions of the GUI section – which makes sense for a GUI – the Internet section is grouped around practical uses for the subsystem: controlling browser buttons, initiating logins, and using http communication. The functions for each are grouped under their respective sections, which means that I can easily flip to the case that applies to my problem and have both an easy reference and code examples in front of me.
What I really want to highlight here with these examples is that the book is highly functional. Instead of just being educational, the book is also a complete reference: even if you know nothing about Android as an operating system, you can flip to the part of the book that concerns your problem and find a quick answer. If you are just starting out and need to draw an intro screen, the functions are there; if you are slightly more advanced and need to get Bluetooth functionality, the code blocks for that are there as well. This dual function of being both a reference and a tutorial is quite rare in Android books I have seen on the market to date.
As I pointed earlier, the book doesn’t cater to complete beginners. It won’t teach you how to declare variables, use loops and control structures, or any other beginner material. I see this as a strength, as the book wasn’t designed to be a programming language tutorial.
A final note, “Android, A Complete Course” comes with extensive support and extended tutorials available on the book’s website:
While this extra content isn’t part of the book and isn’t the focus of this review, it certainly enhances the value of the book!
In conclusion, I wholeheartedly recommend “Android: A Complete Course!” It is not the kind of book I would have picked up before, and it was only an impulse buy, but the book has turned out to be a gem! It is going to keep a permanent place on my tech shelf, and I encourage you to make room for it on yours!Our Rating: