Programming Android
Programming Android

Author: Zigurd Mednieks, Laird Dornin, G. Blake Meike & Masumi Nakamura
Pages: 502
ISBN: 978-1449389697
Aimed at: Proficient programmers who want to get up to speed on Android
Rating: 4.5
Pros: Covers advanced topics in depth
Cons: Not suitable for beginners; no big examples
Reviewed by: Harry Fairhead


Programming Android - it's a bold title but it doesn't tell you much about the book. Who is it aimed and what makes it special?

The clue to this is in its subtitle, "Java programming for the new generation of mobile devices", but even this doesn't tell the full story.

The book is divided into four parts and Part I is titled Tools and Basics. As you would expect it starts off with installing the tools you need to create an Android application. The instructions are angled towards Linux, but they are fairly vague and the comments on what you need should be enough for you to install everything. This is clearly not a step-by-step book. As well as the major tools such as the Eclipse add-in it also goes over what some of the small command line utilities are for, something most books miss.

Chapter 2 is, surprisingly, an introduction to Java. Most Android books start off expecting you to know Java and usually get to a Hello World example in Chapter 1 - not so here. You do get to load and run the supplied Hello World but the book doesn't use this as a starting point to explain how an Android app works.



The introduction to Java isn't low level enough for the complete beginner. It is, however, more or less enough Java for the C#, C++ or Objective C programmer to get up to speed on some of the Java idioms and practices. This is aimed at the experienced programmer and this is why we don't get much in the way of practical examples early on.

Chapter 3 goes over the ingredients of an Android app and this doesn't start with the UI - the easy part. It outlines the deeper structure - Activities, Intents and tasks, services, content providers, broadcast receiver and so on. It also goes into the Dalvik VM and the activity life cycle. This is another chapter aimed at the experienced programmer. If you are new to programming or mobile programming you probably will find this tough going but if you want to be brought up to speed on Android this is a quick way of doing it.

Chapter 4 is about issues of deployment - application signing, the Android market and using Google maps.  This is probably out of place and could be later in the book. Chapter 5 explains how to use Eclipse - which you can skip if you already know how but if you have moved from another IDE it is very helpful. The final chapter of the section is on effective Java for Android. A closer look at how Android effects the way Java is used - libraries, concurrency and serialization.

At the end of Part I we certainly haven't had a practical introduction to Android but if you are an experienced programmer new to Java it will all have helped.

Part II is called About the Android Framework and it focus on some intermediate aspects of using Android. Chapter 7 is about using the View to build a GUI. This isn't the sort of introduction that lists all of the different components you could use. It is again a fairly high level look at the relationship between View and Controller and how to organize things. This approach continues in Chapter 8, where we look at fragments and working with different versions of Android. Chapter 9 goes over 2D and 3D graphics, including a quick introduction to OpenGL. The final chapter of this section is on handling persistent data and its is a fairly in depth look at SQLite.

Part III is called A Skeleton Application for Android.This sounds more hands-on but there is still a lot of theoretical discussion. Chapter 11 looks at what makes a well behaved application in terms of its lifecycle. The rest of the section is on content providers and presents the idea of a network MVC design.

The final part of the book is simply called Advanced Topics. Surprisingly this is much more like the standard introductory books on Android and goes over the usual topics - multimedia, location, sensors, communication and finally the NDK.

There are example applications presented later in the book but this isn't the reason to read it. If you are looking for a book that starts off with a simple example and works its way up to something more complicated then you are most likely going to hate this book. It is a book suitable for the reasonably capable programmers and most of the time it tells you things that will only make sense if you have written a program or two.

It's a perfect book if you want to convert from another mobile platform or from another language to Android. Not so good if you are a complete beginner or if you are expecting lots of step-by-step instructions or a set of graduated examples. As long as you fit into the category of ideal reader then this is a very good book and highly recommended.


Beginning Object-Oriented Programming with C#

Author: Jack Purdum
Publisher: Wrox
Pages: 624
ISBN: 978-1118336922
Rating: 2.5
Reviewer: Ian Elliot

C# is a great language to learn object-oriented programming because it has so many sophisticated features that it can be used to illustrate most of the ideas that are essential to OOP.

Learning R

Author: Richard Cotton
Publisher: O'Reilly
ISBN: 978-1449357108
Print: 1449357105
Kindle: B00F2ZO8Z6
Audience: Statisticians; novice programmers with a stats background
Rating: 4
Reviewer: Mike James

Books on R often cover both programming and statistics. This one is on [ ... ]

More Reviews

Last Updated ( Friday, 25 November 2011 )

RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2017 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.