Author: Lucas Jordan & Pieter Greyling
Publisher: Apress, 2011
Aimed at: Intermediate developers
Pros: Advanced topics
Cons: Too much attention to scripting, too little to practical projects
Reviewed by: Harry Fairhead
A book of practical Android project sounds like a great idea - but it all depends on the projects.
This book starts off with a chapter on Android fundamentals. This is a fairly technical account of where Android came from and how it works. I does cover getting started with Eclipse, NetBeans and IntelliJ but this is not a complete beginners introduction. Chapter 2 continues in the same general way with a more though look at the development environment and how to create a basic Android application. The book spends just over 100 pages on this introduction to Android and as long as you can program in Java before you start reading it then you should find it helpful.
Chapter 3 is where the projects start and the first is on building a Scripting environment into Android. This describes how you can add Cocoa-Basic to Android - i.e. a Basic interpreter written in Java. The project is fun but it doesn't really answer the question of why you might want to write Basic programs on an Android device. It is a good example of advanced Android programming but unless you are prepared to but a lot of effort into customizing the language it isn't going to be very useful.
The next project is similar in that it is about embedding the Lua using the Kahlua project. The big difference, apart from the language change is that the script is integrated to the point where it can call methods in the application. This means that you can write a Lua program that uses Android resources.
Chapter 5 takes us on another in-depth scripting project - SL4A. This is a scripting layer which allows you to integrate other scripting languages.
By the time you have reached Chapter 6 there has been very little in the book of interest to you if scripting isn't what you are interested in. If you are interested in implementing your own scripting language then it's just what you wanted and you will be disappointed that the book moves on to using AIR to create an app and using Rest with Facebook and Twitter. This starts off with an overview of Rest and JSON. Then we have examples of using the HTTP classes to work with Rest - nothing very surprising but well explained.
Chapter 8 moves on to using the Google App Engine from Android and Chapter 9 is on to game graphics. You might think that this would concentrate on 3D graphics but it starts by explaining layout objects. It then moves on to custom components and direct 2D rendering. Chapter 10 continues the gaming theme with a look at animation. Again nothing very new but a well explained tour of the sort of facilities that Android provides.
The final chapter is a bit of a mystery in a book of projects - App Inventor. It's not a project just a tutorial on how to use the App Inventor to create simple applications. It is very simple and doesn't really fit with the rest of the book.
The problem with this book is that it is supposed to be a project book but it contains nothing that could be really be regarded as a complete project. This might not be a problem if what you want are some ideas to spark your own projects. However a very large chunk of the book is about building scripting of one sort of another into Android - and this is great if this is what you want to do but it is a slightly niche topic. Given that you have 120 pages of general tutorial and another 120 on scripting there isn't enough of the book to dedicate to other projects. What is more the remaining projects aren't really exciting - create a GUI with AIR, using REST, using App engine, graphics and animation. If you need a tutorial on any of these topics that book might be worth getting but as a general project book it really doesn't get of the ground.