Android Development Patterns: Best Practices for Professional Developers

Android Development Patterns: Best Practices for Professional Developers

By: Phil Dutson (author), Mike Wallace (author)Paperback

1 - 2 weeks availability

Description

"A must read for all developers that want to begin serious Android development." -Justin Anderson, Freelance Android Developer "From start to finish, this book contains a variety of great tips and insight into the most important attributes of Android design. This book will definitely be required reading for any of our future Android engineers." -Cameron Banga, Cofounder, 9magnets, LLC There's a downside to Android's amazing openness and versatility: it's easy for developers to write code that's inefficient, unreliable, insecure, or hard to maintain. In Android Development Patterns, enterprise Android developer Phil Dutson helps you leverage Android 5.0+'s amazing power without falling victim to those pitfalls. Dutson presents today's most comprehensive set of patterns and procedures for building optimized, robust apps with Android 5.0+. First, Dutson guides you through establishing a highly efficient development environment and workflow, and testing your app to ensure that your code works just as you expect. Then, he walks through the modern best practices for structuring apps, using widgets and components, and working with views. You learn how to build apps that are easy to manage and update, deliver accurate and up-to-date information without wasting precious battery power, and take advantage of new hardware, such as Android Wear and Android TV. Dutson concludes by presenting powerful strategies for optimizing your apps and packaging them for distribution. Coverage includes * Using testing to build more trustworthy, dependable, maintainable apps * Understanding subtle but critical differences between Android and traditional Java programming * Building consistent, modern user interfaces with views and layouts * Leveraging the proven MVC pattern to cleanly organize logic * Creating rich visual experiences with 3D graphics, animation, and media * Simplifying capture and use of location data with the new Locations API * Integrating optional hardware, such as Bluetooth, NFC, or USB * Building better apps with Google Play Services * Creating Android Wear notifications and apps * Tuning and improving apps with Google Analytics * Designing Android TV apps for the "ten foot view" informit.com/aw | https://github.com/dutsonpa/adp-files

Create a review

About Author

Phil Dutson is a Solution Architect over client-side and mobile implementation for one of the world's largest e-commerce retailers in fitness equipment. He has been collecting and developing for mobile devices since he got his hands on a US Robotics Pilot 5000. He is the author of Sams Teach Yourself jQuery Mobile in 24 Hours (Sams, July 2012), jQuery, jQuery UI, and jQuery Mobile: Recipes and Examples (Pearson, November 2012), Android Developer's Cookbook, Second Edition (Pearson, July 2013), and Responsive Mobile Design (Addison-Wesley Professional, September 2014).

Contents

Preface xiv 1 Development Tools 1 Android Studio 1 Installing Android Studio 2 Using Android Studio 4 Starting a New Project 6 Standalone SDK Tools 9 Android Device Emulation 10 Android Virtual Device 11 GenyMotion 12 Xamarin Android Player 13 Version-Control Systems 14 Subversion 14 Git 14 Mercurial 15 Summary 15 2 Testing and Debugging 17 Unit Testing 17 Integration Testing 20 Debugging 25 Profiling 25 Tracing 27 Messaging 29 Summary 32 3 Application Structure 33 Manifests 34 Java 36 Res (Resources) 37 Drawable 37 Layout 39 Menu 39 Values 40 Other Resources 41 Gradle 41 Summary 42 4 Components 45 Intents 45 Intent Filters 46 Broadcast Receivers 47 Activities 48 Creating an Activity 48 Activity Lifecycle 49 Fragments 52 Creating a Fragment 52 Communicating with Fragments 55 Loaders 56 Summary 58 5 Views 59 The View Class 59 The AnalogClock Subclass 60 The ImageView Subclass 60 The KeyboardView Subclass 60 The MediaRouteButton Subclass 62 The ProgressBar Subclass 62 The Space Subclass 64 The SurfaceView Subclass 64 The TextView Subclass 65 The TextureView Subclass 65 The ViewGroup Subclass 66 The ViewStub Subclass 68 Creating a Custom View 68 Summary 70 6 Layout 71 Layout Basics 71 Layout Measurements 72 Layout Coordinates 73 Layout Containers 74 Linear Layout 74 Relative Layout 76 Table Layout 79 Frame Layout 80 WebView 82 Summary 83 7 App Widgets 85 App Widget Layouts 86 The AppWidgetProviderInfo Object 88 App Widget Sizing 89 Update Frequency 90 Preview Image 90 Widget Category 92 Widget Category Layout 92 Resizable Mode 93 Sample AppWidgetProviderInfo Object 93 The AppWidgetProvider Class 94 Application Manifest Entries 96 Summary 97 8 Application Design: Using MVC 99 Model 100 View 101 Controller 102 Working Asynchronously 104 AsyncTask 105 Summary 106 9 Drawing and Animation 107 Graphics 107 Bitmaps 107 NinePatch 109 Drawables 111 OpenGL ES 114 Animation 117 View Animation 117 Property Animation 118 Drawable Animation 122 Transition Framework 123 Summary 125 10 Networking 127 Accessing the Internet 127 Network Detection 127 Using an HTTP Client 129 Parsing XML 131 Handling Network Operations Asynchronously 133 Volley 135 Summary 138 11 Working with Location Data 139 Permissions 139 Google Play Services Locations API 148 Summary 153 12 Multimedia 155 Working with Audio 155 Audio Playback 156 Audio Recording 159 Working with Video 161 Video Playback 162 Summary 165 13 Optional Hardware APIs 167 Bluetooth 167 Enabling Bluetooth 168 Discovering Devices with Bluetooth 169 Connecting via Bluetooth Classic 171 Communicating with BLE 173 Near Field Communication 176 ACTION NDEF DISCOVERED 177 ACTION TECH DISCOVERED 178 ACTION TAG DISCOVERED 179 Device Sensors 181 Detecting the Available Sensors 182 Reading Sensor Data 183 Summary 185 14 Managing Account Data 187 Getting Accounts 187 Android Backup Service 188 Using Google Drive Android API 191 Using Google Play Games Services 195 Working with Saved Games 196 Summary 199 15 Google Play Services 201 Adding Google Play Services 201 Using Google API Client 203 Google Fit 207 Enable API and Authentication 207 App Configuration and Connection 208 Nearby Messages API 209 Enabling Nearby Messages 209 Sending and Receiving Messages 210 Summary 214 16 Android Wear 217 Android Wear Basics 217 Screen Considerations 218 Debugging 221 Connecting to an Emulator 221 Connecting to a Wear Device 222 Communicating with Android Wear 224 Notifications 224 Sending Data 226 Summary 228 17 Google Analytics 229 Adding Google Analytics 229 Google Analytics Basics 232 Events 233 Goals 234 Ecommerce 235 Custom Timings 235 Custom Dimensions 236 Custom Metrics 236 Summary 237 18 Optimization 239 Application Optimization 239 Application First 239 Application Logging 241 Application Configuration 242 Memory Management 243 Garbage Collection Monitoring 245 Checking Memory Usage 245 Performance 247 Working with Objects 247 Static Methods and Variables 248 Enhanced for Loops 248 float, double, and int 249 Optimized Data Containers 249 Summary 249 19 Android TV 251 The Big Picture 251 Ten-Foot View 252 TV Capabilities 254 Text, Color, and Bitmaps 255 Building an App 258 Emulation and Testing 261 Summary 263 20 Application Deployment 265 Preparing for Deployment 265 Production Checklist 266 Certificate Keys 266 Contact Email 266 App Website 267 External Services or Servers 267 Application Icon 267 Licensing 268 Appropriate Package Name 268 Verifying Permissions and Requirements 269 Log and Debug Removal 270 Removal of Excess Unused Assets 270 Preparing for Google Play 270 Application Screenshots 271 Promo Video 271 High-Res Icon 271 Feature Graphic 272 Promo Graphic 272 Banner for Android TV 272 Getting Paid 272 APK Generation 273 Summary 274 Index 275

Product Details

  • publication date: 24/02/2016
  • ISBN13: 9780133923681
  • Format: Paperback
  • Number Of Pages: 320
  • ID: 9780133923681
  • weight: 498
  • ISBN10: 0133923681

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly

Close