Learning Android is a good book to learn how to develop an Android app, but it may frustrate some readers.
I think Learning Android is a good book to learn how to develop an Android app. The book takes you through the step-by-step development of an Android App (a Twitter app)…starting out small and increasing the functionality and complexity of the app. As the book explains “…we’ll add new features in small self-contained chunks and pull them back into the main project so that you can see how it fits together as a whole.” I found it very helpful that at each “stopping point”, the app always worked.
I also liked how the book shows you how to use the Android SDK tools to quickly find and fix problems. You just have to be careful because it does this by inserting mistakes into the code and then shows you how to fix them. So if you think you found an error, you will need to continue reading the chapter to see if it is corrected. Another nice feature is that you can download the code used in the book from the O’Reilly’s site.
There are some areas that the book could improve upon and that may frustrate some readers:
First, it appears that the book has not been updated since it was first published in March 2011. As with all first editions, there are a number of areas that could be updated and/or corrected. For the most part, this shortcoming is minimized by O’Reilly’s online errata page. If you are not familiar with the errata page, it is one of the best features of an O’Reilly book. O’Reilly has set up an online errata page where readers can identify possible errors and/or improvements and the author(s) can respond. Accordingly, I strongly recommend that one refers to the errata on O’Reilly.com if they have any issues with the book, as it may be already addressed.
Second, the book makes a number of “leaps” that left this reader scratching his head and slowed down my learning process as I had to search online for answers. To be honest, I think a lot of the issues are a result of my unfamiliarity with Eclipse (an open source platform used in developing the Android app). Nevertheless, below I have highlighted a few of the areas I struggled with:
a) The book did not explain how to open the Package Explorer in Eclipse to enable you to start working on the particular example (Window -> Show View -> Package Explorer);
b) The book refers to .xml files that Eclipse has created. However, it did not tell you where they are located;
c) The book tells you to create a new Android Virtual Device (AVD) but it does not suggest or provide you with any of the figures to create the AVD;
d) Another issue is that the book helps you create a “Hello World” App and tells you to create an AVD, but does not show you how to run the app in the AVD;
e) The book refers to certain items (i.e. StatusActivity) but sometimes it was not clear where you could find this in Eclipse or how to modify it (i.e. expand the src folder and double click on onCreate(Bundle)); and
f) It would have been nice if the book discussed how to publish your finished app to Google Play and Amazon’s Appstore.
Having said the above, I would recommend Learning Android, but I would highly suggest that you first obtain some basic understanding of Eclipse.
Disclosure: A copy of this book was provided to me as part of the O’Reilly’s Blogger Review Program on the understanding that I would read it and provide an honest review. If you are looking to join a review program, I highly recommend that you consider O’Reilly’s. Full details of the program can be found by clicking on the following: