I have been interested in developing some applications for Android, and usually when I want to pick up a book to learn from it for topics like this they tend to try and teach technique more so then the knowledge of it. How does your book go about teaching this subject?
I want to be clear about what my book is and what my book is not. My book does not teach Android programming. Instead, it teaches the Java language and foundational APIs (such as the collections framework) that the aspiring Android developer should understand before diving into this technology. After all, Android offers its own APIs and other items that also must be understood, and why should the developer overload himself/herself trying to learn Java basics at the same time.
My book isn't about techniques: it is about providing solid knowledge of the Java language and foundational APIs. This knowledge isn't only useful for Android development, but can be used anywhere that Java development is required.
I've tried to clearly explain every item in the Java language from the basics (such as statements and expressions) to more advanced features (ranging from nested types and packages to generics and enums -- I even include several Java SE 7 language features). Along the way, I point out tiny things of which many developers might not be aware. For example, I show the reader where it is legal to directly access an object's private fields and call the object's private methods without using the Reflection API and without violating encapsulation.
My book has been heavily influenced by Joshua Bloch's Effective Java book, and I've tried to be consistent with Joshua's advice.
Because I could not shoehorn everything that I believe the developer needs to understand (from an API perspective) into one 600-page paperback book, I will be releasing six PDF-based chapters on my website over the coming months -- these PDF files along with a separate PDF appendix and code file will be free to download. Chapters 11 through 16 will supplement these existing 10 chapters by focusing on New I/O, networking, SQLite/JDBC, security, XML, and odds and ends. This final chapter is a good place to include anything that should have appeared earlier in the book but did not, for brevity or other reasons. Also, I'll be able to provide complete coverage of Java SE 7 language features that I could not cover earlier because they are still in a state of limbo: closures/lambdas and modules are examples.
Think of my book as if it were a Beginning Java book, whose API coverage is restricted to Java version 5 because Android's Java APIs are based on Java version 5. There isn't much Android coverage in the book (although there is a small useful Android example in Chapter 10, and a few additional Android items elsewhere in the book). However, the book does its job by providing that solid Java foundation needed by the Android developer.
I love your books and own almost all of them including Java 7 book from Apress. But I cannot get the link to http;//javajeff.mb.ca to access the additional chapters for Learn Java for Android Development.