Author: Shane Conder & Lauren Darcey
Publisher: Addison Wesley, 3rd Ed
Audience: Intermediate programmers
Reviewed by: Harry Fairhead
Wireless Android development? What could this be? Isn't Android always wireless?
I was puzzled by this book's title as the inclusion of the word "Wireless" lead me to expect something special. Perhaps something that concentrated on the wireless aspects of Android - whatever they might be. But no, this is a standard Android book covering standard Android development.
The title isn't the only odd thing about this book. The first chapter is fairly bizarre when you compare it to the rest of the book. It is, reasonably enough, an introduction to Android but it covers the history of the mobile phone including a look at the original brick style phone and strange things like WAP that you can more or less forget. It does eventually get round to discussing the Android system, but in a way that makes you suspect that the rest of the book is going to be disconnected and out-of-touch waffle. This is a problem with the entire book - an air of academic detachment keeps on creeping in.
Fortunately things start getting a bit better at Chapter 2 where we look at how to install the SDK and other development tools. Of course this is now already slightly out of date because of the release of Android Studio.
Chapter 3 gets you started running a full Android program that you can download from the website. I prefer a simple Hello World style first program but you might not. You then very rapidly build your own Android app and there are some easy but advanced features included. Chapter 4 then dumps you back to basics with a look at the Android tools. This has a few too many tables making lists of things that are fairly obvious.
Part II of the book is all about design essentials, which roughly translates to the basic workings of an app. Chapter 5 outlines the anatomy of an Android application. The problem is that if you haven't got some experience of creating code the descriptions seem abstract and hence more difficult to understand.
If Chapter 5 suffers from being a little abstract then Chapter 6 brings you back to earth with a crash. It looks at the details of the manifest file. As this is mostly a matter of book keeping it could have been postponed until later while you looked at how to create an Android app. In other words its too detailed a look at many things that aren't relevant to the beginner and mostly best dealt with as say web based documentation. Then Chapter 7 explains in detail how to work with resources. Again a topic you have to master but probably not in this level of detail this early. Hidden at the end of this chapter is an introduction to layout.
The next few chapters deal with the core UI framework and form part III of the book. Chapter 8 is all about the view and controls. Chapter 9 goes into detail about layout panels and chapter 10 introduces fragments. Chapter 11 is about dialog creation using the old and the new fragment based approach.
Part IV singles out the various aspects of the API and covers them in great detail - preferences, data storage, content providers and writing compatible applications.
Part V looks a deployment and there is a fair amount of off-topic material here - unless you don't already know it in which case you might find it useful. Topics covered include debugging, testing, selling and so on. Given the number of core topics not covered this could have been cut with very little loss. Instead you have to buy volume 2 of the same title to find out about graphics, sensors and so on.
The book finishes with some useful appendices.
Overall this is not a book I would recommend to the complete beginner. You need to program in Java and be able to understand fairly high level explanations of the overall architecture.
It also isn't a step-by-step book and it doesn't walk you through the construction of a complete Android application. It does have code snippets that show you how to do most of the standard tasks you need to master. However, most of them are not explained in great detail so you will need to check the official documentation if you want to modify or extend them.
The biggest problem with the book is that it has too many tables of reference data that would be better replaced by a reference to the standard documentation. The book also tends to focus on the fine detail before it has managed to establish the bigger picture, which is fine if you are already familiar with the Android programming model.
There are better and more complete Android books on the market so I can't recommend this book to the beginner or intermediate programmer.