Although classified as a beginner’s book, it should be noted that this book is not written for beginning programmers. If you are new to programming in general, start somewhere else and look at this book later. This comprehensive review of the Java language features takes the reader from the primitive data types to a whirlwind exposure to the standard Java libraries.
Learn Java for Android Development attempts to cover everything you might need to know about Java for purposes of Android development. Unlike many learning Java books, this book does not include information about Swing or Graphical programming. This is a big plus as those features of the language can be confusing for developers new to Java. Considering the book is aimed at Android developers, who won’t be using Swing, it makes perfect sense.
While reading the book, I learned several new things about features coming in the release of JDK7. I even learned a few things about JDK5/6 that I can do better in my day to day development.
The book can serve as a quick reference for certain features of the language.
The author recognized that several important topics needed to be covered (XML parsing for example), but couldn’t be due to the size of the book. He has stated that he will make some new chapters available for free on his website.
The book attempts to tackle everything, and I do mean everything. Because of this, the book is very dense with material and at times difficult to read.
In many cases, example code was way too long and descriptions were way too short.
Although the title includes the word “Learning”, I would not recommend this as a book for someone who wants to learn the Java language. It is obvious the author knows Java extremely well, however, I don’t feel he does a good job of conveying that knowledge in a manner that flows. In many cases, I was overwhelmed by the examples given and felt confused by the sudden switch of topics.
While the book states that you are learning Java for the Android platform, very few references are actually made to Android.
Overall, the book is OK. It can definitely serve as a reference for language features and would possibly be a useful book to own of you are an experience developer who is new to Java, but familiar with OO programming with another C type language (C++, C#, etc). Would I recommend this book to someone new to Java, who is not an advanced developer? No. Would I recommend this book to an experienced developer who is new to Java? Maybe. If you are the type of reader who appreciates short and to the point descriptions with an example to make it stick, you may enjoy this book. If you need a little more explanation for why something is being done or how it relates to other aspects of the language, this isn’t the book for you. My rating: 3 stars. It is an OK book, but the reader needs to be aware of the intended audience before purchasing the book. I think the title can be a little misleading with that regards.