Android Programming, The Big Nerd Ranch Guide

The book is composed by 34 chapters and about 600 pages and it includes all the things to start to develop an Android App.
The first six chapters introduce the base of Android programming starting with the use of the IDE Android Studio and explaining how work an activity and how to debug and Android application. These chapters are very simply and fast to read.
The seventh chapter describes the fundamentals of Fragments, base for other chapters and basis of responsive native layout.

With the eighth chapter we can start to write different kind of layout for our app, continuing with the nineth and tenth chapters with the Recycler View in a normal layout and in a fragment layout.
The eleventh chapter talks about View Pager, another component that allows the user to swipe across the pages of an app, very user friendly.
The twelveth chapter introduces several type of Dialogs, from a classic AlertDialog to complex Fragment based Dialog.

The thirteenth chapter talks about Toolbar and how insert widget inside it and handle result.
An important chapter is the fourteenth: it introduces the SQLite database and it is very helpful to understand how to save records data of a specific app.
The fifteenth and sixteenth chapters describe how work with Intent, focusing on Camera Intent.
To use SoundPool there is the nineteenth chapter that allows the developers to use SoundPool to play audio file from assets.

The twentieth chapter describes how style an app with styles and themes, with colors and theme gerarchy you can create a very good look and feel for your app continuing with the next chapter with XML Drawables.
The best part of the book are the chapters from twentythree to twentyseven because they talk about Http Request, Background Service, Thread, Handler and all of that things that level up your app, allowing the user to connect and to sync with the www. Continuing with the same tipology of previous chapters, the twentyeighth chapter introduces the WebView widget, a mini-browser that we can integrate in our app. Most developers use this practice to embed the mobile version of their website in app without write completely a new app from zero.

The twentynineth chapter introduces the possibility to create custom view, very useful when we need to reuse some high level component. We can embed it in a custom view and reuse whenever we want in our apps.
To feel sweet our apps we can add some animations, that help us to garantee the visual continuity that some users want. With the thirtieth chapter we can add several type of animations.
Another important chapter is the thirty-two that introduces the Maps widget. Nowadays a very high number of app use maps to help the user to know some places position or specific direction. So it’s important to know Maps widget. Of course in the map we can add image, marker to improve our maps.

The thirty-threeth chapter introduces the best design pattern that Google have built, Material Design.
For that I would like to spend a thousand of words but the book resume the best part of Material Design and the examples are very helpful to us to build the several patterns that are composed. Floating Action Button, CardView, RecyclerView, Reveal Effect, etc…help us to create a very userfriendly apps.
The last chapter give you the final challenge: write code and learn!