With its thirty-one chapters and four considerable appendixes, this book is like the bible for Android developers.
Each chapter is presented very well and with a minimal part of code that helps us to understand the whole theorical part of the book.
The first six chapters introduce the basis of Android development. Elements like thread and content provider are the basics for the developers, of course even services and sqlite engine too, but when there are many opportunities to take advantage of, you really don’t know which is the best part! In this case, all the six chapers are the best part!
If you are thinking about writing an Android application, these chapters are enough to develop something.
The seventh chapter allows us to understand how to make powerful user interfaces, starting with the action bar up to defining your own style and theme.
Knowing how the users can interact with a device is important to think about a user friendly applications. Keyboad, touch and gesture are described in eighth chapter and it explains us which are the main methods for user input.
Would you like speech recognition? ninth chapter is for you! It easily explains step by step how to implement speech recognition in our applications.
The tenth chapter is very small and briefly introduces the best practies for tablets, TVs and wearables devices.
From the seventeenth to the twenty-first chapter the book moves on to Google APIs, to underline only the nineteenth chapter with the In-App Billing APIs where it explains the several types of billing APIs, even PayPal APIs amd Amazon APIs, so not only Google!
Moving on to the twenty-second chapter seems like going back to the past, when I was young, when I studied many many books for 2D and 3D graphics. Untill twenty-fourth chapter we can explore the various OpenGL functions that allow us to try to develop some complex graphics on our applications. In these chapter there are a vast amount of lines of code, so keep calm and read meticously if you want to understand the whole OpenGL world.
The twenty-fifth chapter introduces the NDK framework that helps us with some particular applications that need to run C/C++ codes. This is do to some reasons when we have to improve the performance of an algurithm or for some graphics rendering, we prefer to write with a low level languages that guarantee more performance than a classic Java language. Also, for some libraries it is not a good idea to convert them to Java language, because of their size or their complexity, so with NDK we can implement C/C++ libraries without get crazy but only with some tricks that the chapter explains to us.
From the twenty-sixth up to the end of the book there are some chapters that could be tedious due to the small amount of lines of code and the vast amount of theorical concepts. Even though the part regarding the application reach is very good to understand how to improve our applications or how to create a different kind of app like App Widget or a Wallpaper without forgetting the daydream that is a particular screen saver that comes out when the device is charging.
I really agree with the appendixes. They explain some basic concepts like ADB (Android Debug Bridge), Logcat, documentations and how to start with Android Studio. I know that those are not a big concepts but a junior developer, due to ruscing to learn extended arguments, omits these basics parts.