Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Monday, November 26, 2012

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
14. Search
15. Location and Mapping
16. Multimedia
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

posted by tadanderson at 12:46 PM

0 Comments:

Post a Comment

<< Home

Previous Posts

  • Master Your Mac: Simple Ways to Tweak, Customize, ...
  • Building Windows 8 Apps with C# and XAML Book Review
  • Learning Unix for OS X Mountain Lion Book Review
  • Windows Phone 8 SDK what a Big Time Flop
  • Model-Based Engineering with AADL: An Introduction...
  • Software Architecture in Practice Book Review
  • Managing the Unmanageable: Rules, Tools, and Insig...
  • Photoshop Elements 11: The Missing Manual Book Review
  • Essential Scrum: A Practical Guide to the Most Pop...
  • Mastering the Requirements Process: Getting Requir...



Powered by Blogger