Designing for Performance
Article: “Designing for Performance,” from the Android developer’s site. Discusses optimizing judiciously, avoiding creating objects, performance myths, preferring static over virtual, avoiding internal getters/setters, using static final for constants, using enhanced For loop syntax, avoiding enums where only ints are needed, using package scope with inner classes, using floating-point judiciously, using the libraries and using native methods judiciously.
Best Practices for User Interfaces
Article: “Best Practices for User Interfaces,” from Motorola. Discusses the Top 10 best practices for developing user interfaces for Android applications including reading the user interface guidelines, understanding and designing for touch mode, supporting multiple interaction modes, using notifications nd the window shade, supporting interaction between applications, keeping the user interface fast and responsive, using widgets and live folders, handling screen orientation changes, using images wisely, and using layouts that adapt to multiple devices.
User Interface Guidelines from Google
User Interface Guidelines from Google. Topics include icon design, the Android icon templates pack, widget design, activity and tasks design, and menu design.
Updating Applications for On-screen Input Methods
Blog: “Updating Applications for On-screen Input Methods,” by Dianne Hackborn. Discusses what an input method is, basic XML attributes for controlling IMEs, specifying each EditText control’s input type, enabling resize mode and other window features, controlling the action buttons, and APIs for controlling IMEs.
Widget Design Guidelines
“Widget Design Guidelines,” from the Android Developer’s site. Discusses standard widget anatomy, designing a widget, standard widget sizes, standard widget frames, standard widget shadows, widget graphics tips and tricks, and widget graphics file format.
Interaction and Visual Design the Android Way
Video: “Pixel Perfect Code: How to Marry Interaction and Visual Design the Android Way,” with Chris Nessladek. This 1-hour video discusses using the Android framework to enable richer user experiences, core principles, framework structure and flow, framework basics, onscreen behavior, expressions and the future.
Optimize Widow Backgrounds, from Motorola
Article” Optimize Widow Backgrounds, from Motorola. Discusses why to optimize, prescale bitmaps, removing the default background, and changing the default background.
Designing for Responsiveness
Article: “Designing for Responsiveness,” from the Android Developers site. Discusses what triggers ANR (application not responding), how to avoid ANR, and reinforcing responsiveness.
Designing for Seamlessness
Article: “Designing for Seamlessness,” from the Android Developers site. Discusses how to avoid seamlessness such as dropped data, exposing raw data, interrupting the user, using threads, overloading an activity screen, extending system themes, designing a UI to work with multiple screen resolutions, assuming a network is slow, not assuming touchscreen or keyboard, and conserving device battery.
How to Make Your Android UI Fast and Efficient
Video: “Turbo-Charge Your UI: How to Make Your Android UI Fast and Efficient,” with Roman Guy. Ths 1-hour video discusses practical tips, techniques and tricks for making Android applications fast and responsive and focuses on optimizations recommended by the Android framework team for making the best use of the UI toolkit.
Coding for Life—Battery Life, That Is
Video: “Coding for Life—Battery Life, That Is,” presented by Jeffrey Sharkey. Discussed in this 1-hour video is the important consideration of battery life for mobile applications (if the battery is dead, users can’t use an application), the many ways an application can use up power and irritate users, how networking affects battery life, the right and wrong ways to use Android-specific features (such as wake locks), why you can't assume that it's okay to trade memory for time, and more.
Mastering the Android Media Framework
Video: “Mastering the Android Media Framework,” presented by David Sparks. This 1-hour video discusses giving your app a voice, the multimedia capabilities of the Android platform, how it works and the right and wrong ways to use it, how things work under the hood, how to dodge the common media-related developer pitfalls, and how to write secure and battery-efficient media code.
Debugging Arts of the Ninja Masters
Video: “Debugging Arts of the Ninja Masters,” presented by Justin Mattson. This 1-hour video discusses the advanced use of Android debugging tools such as traceview, the hierarchy viewer, and the instrumentation system, and presents several case studies where Google used these tools to solve real world problems, and show you the before-and-after results.