Programming Android: Java Programming for the New Generation of Mobile Devices Book Review
|The second edition of this book came just at the right time. I am currently working on a project that uses Microsoft's Web Api RESTful services to interface with iPhone, iPad, Windows 8 Phone, Windows 8 Tablets, and Android devices. The Android devices are the last in the initial build of the framework to be added to the architecture.|
This book was perfect for getting me over that hurdle quickly. It starts with a chapter on downloading, installing, and configuring, Eclipse, the Android SDK, and the Android Developer Tools. It also walks you through creating an Android Virtual Device. After failing to get the Android tools to successfully setup up on Windows 8 three times, I decided to set up my development environment on my MacBook, which was one and done.
The book is broken down into four parts. I have listed each one along with the chapters they contain.
I. Tools and Basics
1. Installing the Android SDK and Prerequisites
2. Java for Android
3. The Ingredients of an Android Application
4. Getting Your Application into Users’ Hands
5. Eclipse for Android Software Development
II. About the Android Framework
6. Building a View
7. Fragments and Multiplatform Support
8. Drawing 2D and 3D Graphics
9. Handling and Persisting Data
III. A Skeleton Application for Android
10. A Framework for a Well-Behaved Application
11. Building a User Interface
12. Using Content Providers
13. A Content Provider as a Facade for a RESTful Web Service
IV. Advanced Topics
15. Location and Mapping
17. Sensors, NFC, Speech, Gestures, and Accessibility
18. Communication, Identity, Sync, and Social Media
19. The Android Native Development Kit (NDK)
As you can see by the chapter's names, the book covers a lot of topics. I found the author covered the topics with enough detail to thoroughly explain the topic at hand.
I liked Chapter 2, Java for Android. Coming from a C# and Objective-C environment, I thought the chapter did a nice job of covering the syntax of Java.
Chapter 3, The Ingredients of an Android Application, is absolutely essential for anyone coming from Windows Phone, Windows Store Apps, iPhone, or iPad development. It does a great job of covering the high-level concepts of programming on the Android Platform. It introduces you the Android language and concepts.
Chapter 5 was a nice touch. The author takes the time to cover what Android programming looks like in Eclipse. I have used the Eclipse Process Framework, TOPCASED, Archi, GOSU, and a few other configurations. It was nice to just have the Android environment explained instead of having to figure it out.
The author has all the examples used in the book available for download. They're very well organized and usable. All of the examples ran without needing any modification. You can import them into Eclipse and hit run. Just make sure you download the code for the second edition. I downloaded the first edition's code initially.
The Android environment is a complex one. At least I found it to be more complex than iOS and .NET. Without this book I would not have gotten very far. The author did a great job of explaining activities, intents, tasks, services, and contents providers early in the book which help me understand the context in which the different elements live.
This book is great for reading from cover to cover as well as using it as a reference. I plan on keeping this book by my side. This book is for anyone looking to get into Android programming or anyone looking for direction on building Android applications with the latest APIs, tools, and best practices.
Programming Android: Java Programming for the New Generation of Mobile Devices
For more book recommendations check out my .NET, iOS, and Java Architecture and Development Book Recommendations for 2013