Android Development Patterns - Phil Dutson

Android Development Patterns

Best Practices for Professional Developers

(Autor)

Buch | Softcover
320 Seiten
2016
Addison-Wesley Educational Publishers Inc (Verlag)
978-0-13-392368-1 (ISBN)
37,35 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
This reference book is written for intermediate to advanced Android developers. The chapters mirror a normal development life cycle from beginning to end. Each chapter has an introductory image of the Android mascot in some way representing the information contained in the chapter.
“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

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).

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

Verlagsort New Jersey
Sprache englisch
Maße 178 x 228 mm
Gewicht 498 g
Themenwelt Mathematik / Informatik Informatik Netzwerke
Informatik Software Entwicklung Mobile- / App-Entwicklung
Informatik Weitere Themen Smartphones / Tablets
ISBN-10 0-13-392368-1 / 0133923681
ISBN-13 978-0-13-392368-1 / 9780133923681
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Jürgen Sieben

Buch | Hardcover (2023)
Rheinwerk (Verlag)
89,90
Das große Handbuch zum JavaScript-Framework

von Christoph Höller

Buch | Hardcover (2022)
Rheinwerk (Verlag)
39,90