Recently I started to learn application development for Android and had to find good sources for instructions and tutorials. Luckily, several new and useful books on this topic have come out during the last year. Here I present the TOP 5 best books for learning Android app development in my personal opinion, not ranked in any particular order. All of them contain an introduction for complete beginners and cover the basic topics, but each one also has a unique style or covers some topics not found in others.
Lauren Darcey and Shane Conder. 10 Jun 2010. 480 pages.
This book gives you a good overview of developing programs for Android. It is built up as a tutorial – over the course of the book you build a complete application, step-by-step. Each lesson introduces something new about the Android SDK (Software Development Kit) and the topics range from displaying simple screens and buttons to integrating animations, network apps, social features and geopositioning. I also found that it explained the general anatomy of an Android program much better than anything else I found.
However, as it can’t cater to everyone, it is probably not the best book for someone who already has some experience and might need a more detailed reference of all the possibilities. Also, don’t expect to stay up overnight and be an expert in 24 hours. The 480 pages offer quite a lot of reading and if you experiment while developing (which is recommended), then going through the lessons will probably take you at least a week or two.
If you already know Java programming but don’t have experience with an Android yet, I suggest this book. Especially if you enjoy learning while programming and not only reading. At the time of writing this is also the cheapest book on this list which makes it a very good deal.
James Steele and Nelson To. 17 Oct 2010. 400 pages.
An excellent book as well, however this one is put together in a very different way from the first one. It contains 12 large chapters, each divided into a large number of small sections dedicated to a single problem and solution. Want to know how to write a program that can send an SMS from your phone? Or maybe you want to create and use an SQL database in your phone? Just look up the specific section (called “recipe” in this “cookbook”) you’re interested in and you’re on your way. Each recipe contains stand-alone code samples that you can ideally copy directly into your system.
Since it doesn’t require any previous knowledge about Android, it does come with some introductory chapters to help newcomers. The book covers quite a lot, even giving an overview of various available hardware and how to sell your apps in the Android Market. It assumes some basic knowledge about Java and Eclipse.
A very good book, this one is most useful as a reference. If you already have some experience or just lack the commitment to read a whole book, this is a good choice, allowing you to jump directly into the interesting parts.
Ed Burnette. 28 Jul 2010. 300 pages.
Hello Android is another popular book for new learners. Its structure is a combination of a linear tutorial and discrete lessons. Whenever possible, new concepts are introduced by incrementally building on a single app – in this case, a sudoku game. However, topics are nicely separated into units by the functionality that is covered, enabling the reader to jump directly to the relevant parts.
As expected, the book gives a nice overview of the Android in general. It also contains detailed instructions on how to install the SDK and get your development environment set up. This might be a bit unnecessary as new Android versions come out rather often and it is more reliable to follow the most recent instructions on the official download page. However, what really sets this book apart is dedicating more time to graphics – chapter 4 covers 2D and chapter 10 offers a tutorial on 3D graphics using OpenGL. Writing apps with multi-touch functionality is also covered.
If you are specifically interested in developing games, then this would be a good book to start with. However, for a more general overview it might be better to start somewhere else and then come back here to read up on topics not covered in other similar books.
Sayed Hashimi, Satya Komatineni, Dave MacLean, and Dave MacLean. 9 Mar 2010. 736 pages.
It covers all the basic topics – introduction to Android, developing the user interface, utilizing content providers etc. However, as the name suggest, it is more focused on advanced topics such as 2D and 3D graphics, multimedia and touchscreens. It even introduces concepts not found in other books, including text-to-speech and translation functionalities, live folders and developing cross-platform applications with Appcelerator Titanium.
I can’t imagine reading this book from cover to cover but it is excellent for providing an overview of Android’s capabilities along with usable code samples.
Frank Ableson and Robi Sen. 28 Jan 2011. 592 pages.
This is a new version of a 2009 book called Unlocking Android. The contents has been updated to cover Android 2.2 and 6 new chapters were added. It is targeted towards both beginners and experts and thus falls somewhere in between. However, it stands out as one of the more up-to-date books at the moment and includes some features not covered elsewhere.
As expected, the book contains an introductory section for novice users, covering the background of Android. There are also some step-by-step developing instructions to get started. All the basic topics are featured, including networking, graphics, multimedia and location-based services.
The final sections contain more advanced tutorials, such as home screen widgets, integrating an app with LinkedIn, localization and image processing (more specifically detecting the edges on photos). Two chapters are dedicated to the Android Native Development Kit which allows you to program in C instead of Java to achieve optimal performance. They also demonstrate the use of Bluetooth and sensor data by developing an application for remotely controlling your physical LEGO robot by tilting the phone.
Just like others in this list, this book is also a very good reference for learning Android. The most important difference is the added chapters on more advanced topics, so if you intend to develop apps using any of those techniques, it is a good place to start.