Author: Ronan Schwarz, Phil Dutson, James Steele, Nelson To
Audience: Intermediate Android Programmers
Reviewer: Mike James
A cookbook for Android development seems like a very good idea given how complex it can seem at first.
Cookbooks all have the same problem how to provide short snippets of information in isolation while managing to convey some overall structure of what is going on. This is particularly difficult for an Android cookbook like this one because Android has grown to be a large and complex system with lots of tiny corners of complexity.
This particular cookbook assumes that you know how to program in Java and if you don't you will need to find another book to get you started. In addition it doesn't really focus on using the tools that are provided - this is about creating code no matter how you do it.
Chapter 1 begins with an overview of Android in a non-cookbook format. If you know something about Android you can skip this. It is already out of date in terms of only mentioning Eclipse and not Android Studio and of course all Android books are slightly out of date because of the release of Android L. Overall this doesn't matter as the recipes presented in the rest of the book are hardly effected by the changes. In short, apart from Chapter 1 this book is not out of date.
Chapter 2 is where the book really gets started with a look at Activity and Intents. This is where any book would start on teaching Android. The recipes work their way through the least you have to know and in the final section how to work with multiple Activities. Toward the end of the chapter the recipes have moved up from the very basic to the just beyond the basics.
Chapter 3 looks at a slightly more advanced topic in that most beginners have master control of the UI before they move on to consider Threads, Services, Receivers and Alerts. Some of these recipes are more advanced - for example starting a Service when the camera button is pressed. The next chapter moves on to even more advanced Threading including AsyncTasks and inter-process communication.
At Chapter 5 we get started on learning how to work with the UI which as already mentioned is something more fundamental to the beginner starting out with Android. It starts out from the basic folder structure, using resources, Views and ViewGroups , creating Views in code and so on. The next chapter is devoted to event handling and hooking events up to event handlers. Chapter 7 takes it further with a look at custom UIs, and the all important and complex Fragment. If you are serious about Android this section is too short and deals with say Dialog Fragments in one recipe.
Chapter 8 moves off the UI and introduces multimedia - images, audio and video. Chapter 9 works with the Camera, Rotation, Temperature sensor, Phone, Bluetooth, NFC and USB. All treated in a small umber of recipes except for Bluetooth which gets six in total. Chapter 10 extends the communications focus to Networking which is a huge topic. Next we have some recipes on data storage including shared preferences, SQLite and general files.
Chapter 12 is on location based services including, of course, Google Maps. From here things get increasingly specialized. Chapter 13 is about in-app billing, chapter 14 is about push messaging, chapter 15 is about native development and the final chapter deals with some issues of debugging and testing.
Overall this isn't really a cookbook, more a standard introduction to Android split up into bite sized chunks. If you like this sort of approach this is a good example of the genre. The big problem is that presenting recipes has a tendency to squeeze out the logical flow of explaining how things work. Later the book focuses on more advanced aspects of Android, or should that be topics you might or might not get to after mastering the fundamentals. None of the recipes takes you far off the beaten track and if you read the documentation and seek out some online examples you will probably do just as well - but a book is convenient and you can keep it for when you really need to know how to start working with NFC. If you are looking for a cookbook that provides lots of exceptional recipes then you need to look elsewhere as these are fairly basic.
This book isn't suitable for the complete beginner, but it could be useful if you have written your first Android app and prefer something you can dip into.
Android Recipes (2e)
50 Android Hacks
Android for Programmers