Note: This is an old post and may or may not accurately represent my current views, current technology, etc.
I’m very excited to announce that my book Android User Interface Design: Turning Ideas and Sketches into Beautifully Designed Apps is now available. You should be able to get it from your local bookstore, but you can also order it online from Amazon and other sites. The book is intended for developers who already have some experience with Android, but it can also be useful to designers, project managers, and anyone else involved with an Android app. It’s also in color so the images look great and the code is much easier to follow.
Part One: The Basics of Android User Interface
This first section consists of four chapters about the basics of Android user interface, starting with the evolution of Android design and going into views, fragments, and resources. If you’re an experienced Android developer, some of this will be review, but you’re probably likely to discover new info as well. From visual examples of the different scale types to explanations of each of the existing Android Drawables, these chapters will ensure you understand all the core building blocks of an Android interface.
Part Two: The Full Design and Development Process
This section covers each step of the entire design process from ideas to wireframes to comps to prototypes and beyond. These five chapters start with creating a new app by defining goals and brainstorming with wireframes. Then they cover creating simple prototype apps using ADT templates to test out different layouts. Creating custom classes to populate the app with realistic data is covered as well. These chapters also show how to break comps into specific views in Android and, once it’s all done, how to improve your app by eliminating overdraw, adding animations, and exporting to PSDs for further design work.
Part Three: Advanced Topics for Android User Interfaces
After you’ve mastered all the basic elements of Android user interfaces, this section can teach you how to implement commonly requested features such as splash screens (including info about when it makes sense to implement them and when it doesn’t) and complex TextViews by using spans. You will also learn to combine views in order to make custom components and simplify working with multiple views. After that, the section dives into a lengthy chapter on developing custom views. That chapter covers general concepts, drawing, handling touch, and more. Finally, the section finishes with a chapter on advanced drawing that covers things like Porter Duff image compositing and custom drawables.
Part Four: Helpful Guides and Reference
The end of the book is make of three appendices covering Google Play assets, Amazon Appstore assets, and a variety of common tasks. The common tasks appendix includes simple things like showing loading in the action bar and determining the device’s DPI to more advanced topics such as custom view attributes. The portion that covers custom view attributes not only shows how to declare each and every supported type, it also shows how to read the values of each type and gives full source to a view that demonstrates all of these custom view attribute types.