Android Wireless Application Development Volume II
Home > Computing and Information Technology > Graphical and digital media applications > Android Wireless Application Development Volume II: Advanced Topics
Android Wireless Application Development Volume II: Advanced Topics

Android Wireless Application Development Volume II: Advanced Topics

|
     0     
5
4
3
2
1




Out of Stock


Notify me when this book is in stock
About the Book

Android Wireless Application Development has earned a reputation as the most useful real-world guide to building robust, commercial-grade Android apps. Now, authors Lauren Darcey and Shane Conder have systematically revised and updated this guide for the latest Android SDK and tools updates. To accommodate their extensive new coverage, they’ve split the book into two leaner, cleaner volumes. This Volume II focuses on advanced techniques for the entire app development cycle, including design, coding, testing, debugging, and distribution. Darcey and Conder cover hot topics ranging from tablet development to protecting against piracy and demonstrate advanced techniques for everything from data integration and UI development to in-app billing.   Every chapter has been thoroughly updated to reflect the latest SDKs, tools, and devices. The sample code has been completely overhauled and is available for download on a companion website. Drawing on decades of in-the-trenches experience as professional mobile developers, the authors also provide even more tips and best practices for highly efficient development. This new edition covers Advanced app design with async processing, services, SQLite databases, content providers, intents, and notifications Sophisticated UI development, including input gathering via gestures and voice recognition Developing accessible and internationalized mobile apps Maximizing integrated search, cloud-based services, and other exclusive Android features Leveraging Android 4.0 APIs for networking, web, location services, the camera, telephony, and hardware sensors Building richer apps with 2D/3D graphics (OpenGL ES and RenderScript), animation, and the Android NDK Tracking app usage patterns with Google Analytics Streamlining testing with the Android Debug Bridge   This book is an indispensable resource for every intermediate- to advanced-level Java developer now participating in Android development and for every seasoned mobile developer who wants to take full advantage of the newest Android platform and hardware.   Also look for: Android Wireless Application Development, Volume I: Android Essentials (ISBN: 9780321813831)

Table of Contents:
Introduction     1 Part I: Advanced Android Application Design Principles Chapter 1: Threading and Asynchronous Processing      9 The Importance of Processing Asynchronously      9 Working with the AsyncTask Class      10 Working with the Thread Class      13 Working with Loaders      14 Understanding StrictMode      14 Summary      15 References and More Information      15 Chapter 2: Working with Services      17 Determining When to Use Services      17 Understanding the Service Lifecycle      18 Creating a Service      18 Controlling a Service      23 Implementing a Remote Interface      24 Implementing a Parcelable Class      26 Using the IntentService Class      29 Summary      33 References and More Information      33 Chapter 3: Leveraging SQLite Application Databases      35 Storing Structured Data Using SQLite Databases      35 Creating a SQLite Database      36 Creating, Updating, and Deleting Database Records      38 Working with Transactions      40 Querying SQLite Databases      41 Closing and Deleting a SQLite Database      46 Designing Persistent Databases      47 Binding Data to the Application User Interface      50 Summary      55 References and More Information      55 Chapter 4: Building Android Content Providers      57 Acting as a Content Provider      57 Implementing a Content Provider Interface      58 Defining the Data URI      59 Defining Data Columns      59 Implementing Important Content Provider Methods      59 Updating the Manifest File      65 Enhancing Applications Using Content Providers      65 Accessing Images on the Device      66 Summary      71 References and More Information      71 Chapter 5: Broadcasting and Receiving Intents      73 Sending Broadcasts      73 Sending Basic Broadcasts      74 Sending Ordered Broadcasts      74 Receiving Broadcasts      75 Registering to Receive Broadcasts      76 Handling Incoming Broadcasts from the System      77 Securing Application Broadcasts      80 Summary      80 References and More Information      81 Chapter 6: Working with Notifications      83 Notifying the User      83 A Word on Compatibility      84 Notifying with the Status Bar      84 Using the NotificationManager Service      85 Creating a Simple Text Notification with an Icon      85 Working with the Notification Queue      86 Updating Notifications      88 Clearing Notifications      90 Vibrating the Phone      91 Blinking the Lights      92 Making Noise      93 Customizing the Notification      94 Designing Useful Notifications      96 Summary      97 References and More Information      97 Part II: Advanced Android User Interface Design Principles Chapter 7: Designing Powerful User Interfaces      99 Following Android User Interface Guidelines      99 Working with Menus      100 Using Options Menus      100 Using Context Menus      103 Using Popup Menus      105 Enabling Action Bars      105 Building Basic Action Bars      106 Customizing Your Action Bar      110 Handling Application Icon Clicks on the Action Bar      112 Working with Screens That Do Not Require Action Bars      114 Introducing Contextual Action Mode      114 Using Advanced Action Bar Features      114 Working with Styles      114 Building Simple Styles      115 Leveraging Style Inheritance      117 Working with Themes      119 Summary      121 References and More Information      122 Chapter 8: Handling Advanced User Input      123 Working with Textual Input Methods      123 Working with Software Keyboards      123 Working with Text Prediction and User Dictionaries      126 Using the Clipboard Framework      126 Handling User Events      127 Listening for Touch Mode Changes      127 Listening for Events on the Entire Screen      128 Listening for Long Clicks      129 Listening for Focus Changes      130 Working with Gestures      131 Detecting User Motions Within a View      131 Handling Common Single-Touch Gestures      132 Handling Common Multi-Touch Gestures      139 Making Gestures Look Natural      142 Using the Drag and Drop Framework      143 Working with the Trackball      143 Handling Screen Orientation Changes      144 Summary      146 References and More Information      147 Chapter 9: Designing Accessible Applications      149 Exploring the Accessibility Framework      149 Leveraging Speech Recognition Services      151 Leveraging Text-To-Speech Services      155 Summary      158 References and More Information      158 Chapter 10: Best Practices for Tablet and Google TV Development      159 Understanding Device Diversity      159 Don’t Make Assumptions about Device Characteristics      159 Designing Flexible User Interfaces      160 Attracting New Types of Users      161 Leveraging Alternative Resources      161 Using Screen Space Effectively on Big Landscape Screens      161 Developing Applications for Tablets      162 Developing Applications for Google TV      164 Optimizing Web Applications for Google TV      165 Developing Native Android Applications for Google TV      165 Developing Apps for the Amazon Kindle Fire      166 Summary      167 References and More Information      168 Part III: Leveraging Common Android APIs Chapter 11: Using Android Networking APIs      169 Understanding Mobile Networking Fundamentals      169 Understanding Strict Mode with Networking      170 Accessing the Internet (HTTP)      170 Reading Data from the Web      170 Using HttpURLConnection      171 Parsing XML from the Network      172 Handling Network Operations Asynchronously      174 Retrieving Android Network Status      179 Summary      181 References and More Information      181 Chapter 12: Using Android Web APIs      183 Browsing the Web with WebView      183 Designing a Layout with a WebView Control      184 Loading Content into a WebView Control      184 Adding Features to the WebView Control      186 Managing WebView State      189 Building Web Extensions Using WebKit      190 Browsing the WebKit APIs      190 Extending Web Application Functionality to Android      190 Working with Flash      195 Enabling Flash Applications      195 Building AIR Applications for Android      196 Summary      196 References and More Information      196 Chapter 13: Using Location-Based Services APIs      197 Using Global Positioning Services (GPS)      197 Using GPS Features in Your Applications      198 Determining the Location of the Device      198 Locating Your Emulator      200 Geocoding Locations      200 Mapping Locations      204 Mapping Intents      205 Mapping Views      206 Getting Your Debug API Key      207 Panning the Map View      209 Zooming the Map View      210 Marking the Spot      211 Doing More with Location-Based Services      216 Summary      217 References and More Information      217 Chapter 14: Using Android Multimedia APIs      219 Working with Multimedia      219 Working with the Camera      220 Capturing Still Images Using the Camera      220 Working with Video      229 Working with Face Detection      233 Working with Audio      233 Recording Audio      233 Playing Audio      235 Sharing Audio      236 Searching for Multimedia      236 Working with Ringtones      238 Summary      238 References and More Information      238 Chapter 15: Using Android Telephony APIs      239 Working with Telephony Utilities      239 Gaining Permission to Access Phone State Information      240 Requesting Call State      240 Requesting Service Information      242 Monitoring Signal Strength and Data Connection Speed      243 Working with Phone Numbers      243 Using SMS      244 Gaining Permission to Send and Receive SMS Messages      244 Sending an SMS      245 Receiving an SMS      247 Making and Receiving Phone Calls      248 Making Phone Calls      249 Receiving Phone Calls      251 Working with SIP      251 Summary      251 References and More Information      252 Chapter 16: Accessing Android’s Hardware Sensors      253 Interacting with Device Hardware      253 Using the Device Sensors      254 Working with Different Sensors      254 Configuring the Android Manifest File for Sensors      255 Acquiring a Reference to a Sensor      256 Reading Sensor Data      256 Calibrating Sensors      258 Determining Device Orientation      258 Finding True North      258 Monitoring the Battery      258 Summary      261 References and More Information      261 Chapter 17: Using Android’s Optional Hardware APIs      263 Working with Bluetooth      263 Checking for the Existence of Bluetooth Hardware      264 Enabling Bluetooth      264 Querying for Paired Devices      265 Discovering Devices      265 Establishing Connections Between Devices      266 Working with USB      267 Working with USB Accessories      268 Working as a USB Host      269 Working with Android Beam      269 Enabling Android Beam Sending      270 Receiving Android Beam Messages      271 Configuring the Manifest File for Android Beam      272 Working with Wi-Fi      273 Introducing Wi-Fi Direct      273 Monitoring Wi-Fi State      274 Summary      276 References and More Information      276 Part IV: Drawing, Animations, and Graphics Programming with Android Chapter 18: Developing Android 2D Graphics Applications      279 Drawing on the Screen      279 Working with Canvases and Paints      279 Working with Text      284 Using Default Fonts and Typefaces      284 Using Custom Typefaces      285 Measuring Text Screen Requirements      287 Working with Bitmaps      287 Drawing Bitmap Graphics on a Canvas      287 Scaling Bitmap Graphics      287 Transforming Bitmaps Using Matrixes      287 Working with Shapes      289 Defining Shape Drawables as XML Resources      289 Defining Shape Drawables Programmatically      290 Drawing Different Shapes      291 Leveraging Hardware Acceleration Features      297 Controlling Hardware Acceleration      298 Fine-Tuning Hardware Acceleration      298 Summary      299 References and More Information      299 Chapter 19: Working with Animation      301 Exploring Android’s Animation Abilities      301 Working with Frame-by-Frame Animation      302 Working with Tweened Animations      304 Working with Property Animation      309 Working with Different Interpolators      313 Summary      314 References and More Information      314 Chapter 20: Developing Android 3D Graphics Applications      315 Working with OpenGL ES      315 Leveraging OpenGL ES in Android      316 Ensuring Device Compatibility      316 Using OpenGL ES APIs in the Android SDK      317 Handling OpenGL ES Tasks Manually      318 Creating a SurfaceView      318 Starting Your OpenGL ES Thread      319 Initializing EGL      321 Initializing GL      323 Drawing on the Screen      323 Drawing 3D Objects      325 Drawing Your Vertices      325 Coloring Your Vertices      326 Drawing More Complex Objects      327 Lighting Your Scene      329 Texturing Your Objects      331 Interacting with Android Views and Events      333 Enabling the OpenGL Thread to Talk to the Application Thread      333 Enabling the Application Thread to Talk to the OpenGL Thread      335 Cleaning Up OpenGL ES      337 Using GLSurfaceView (Easy OpenGL ES)      337 Using OpenGL ES 2.0      341 Configuring Your Application for OpenGL ES 2.0      341 Requesting an OpenGL ES 2.0 Surface      341 Working with RenderScript      345 Defining RenderScript Functionality      346 Rendering to a Custom View Control      350 Summary      353 References and More Information      353 Chapter 21: Using the Android NDK      355 Determining When to Use the Android NDK      355 Installing the Android NDK      356 Exploring the Android NDK      357 Running an Android NDK Sample Application      357 Creating Your Own NDK Project      357 Calling Native Code from Java      358 Handling Parameters and Return Values      359 Using Exceptions with Native Code      360 Using Native Activities      362 Improving Graphics Performance      362 A Comparison to RenderScript      363 Summary      363 References and More Information      364 Part V: Maximizing Android’s Unique Features Chapter 22: Extending Android Application Reach      365 Enhancing Your Applications      365 Working with App Widgets      366 Creating an App Widget      367 Installing an App Widget      374 Becoming an App Widget Host      375 Working with Live Wallpapers      375 Creating a Live Wallpaper      376 Creating a Live Wallpaper Service      376 Creating a Live Wallpaper Configuration      378 Configuring the Android Manifest File for Live Wallpapers      379 Installing a Live Wallpaper      379 Acting as a Content Type Handler      381 Determining Intent Actions and MIME Types      382 Implementing the Activity to Process the Intents      383 Registering the Intent Filter      384 Summary      384 References and More Information      384 Chapter 23: Enabling Application Search      385 Making Application Content Searchable      385 Enabling Searches in Your Application      386 Enabling Global Search      395 Summary      398 References and More Information      398 Chapter 24: Working with Cloud to Device Messaging      399 An Overview of C2DM      399 Understanding C2DM Message Flow      400 Understanding the Limitations of the C2DM Service      400 Signing Up for C2DM      401 Incorporating C2DM into Your Applications      402 Exploring the C2DM Sample Applications      403 What Alternatives to C2DM Exist?      403 Summary      404 References and More Information      404 Chapter 25: Managing User Accounts and Synchronizing User Data      405 Managing Accounts with the Account Manager      405 Synchronizing Data with Sync Adapters      406 Using Backup Services      407 Choosing a Remote Backup Service      408 Implementing a Backup Agent      409 Backing Up and Restoring Application Data      412 Summary      414 References and More Information      414 Part VI: Advanced Topics in Application Publication and Distribution Chapter 26: Internationalizing Your Applications      415 Internationalizing Applications      415 Internationalization Using Alternative Resources      416 Implementing Locale Support Programmatically      421 Publishing Applications for Foreign Users      422 Summary      422 References and More Information      422 Chapter 27: An Overview of Third-Party In-App Billing APIs for Android      423 What Is In-App Billing?      423 Using In-App Billing      424 Leveraging Android Market In-App Billing APIs      425 Leveraging Amazon Appstore In-App Billing APIs      426 Leveraging PayPal Billing APIs      426 Leveraging Other Billing APIs      427 Summary      427 References and More Information      427 Chapter 28: Enabling Application Statistics with Google Analytics      429 Creating a Google Account for Analytics      429 Adding the Library to Your Eclipse Project      431 Collecting Data from Your Applications      432 Logging Different Events      432 Using the Google Analytics Dashboard      433 Gathering eCommerce Information      436 Logging eCommerce Events in Your Applications      436 Reviewing eCommerce Reports      437 Tracking Ad and Market Referrals      438 Gathering Statistics      438 Protecting Users’ Privacy      439 Summary      439 References and More Information      439 Chapter 29: Protecting Applications from Software Piracy      441 All Applications Are Vulnerable      441 Using Secure Coding Practices      442 Obfuscating with ProGuard      442 Configuring ProGuard for Your Android Applications      443 Dealing with Error Reports After Obfuscation      444 Leveraging the License Verification Library      444 Other Anti-Piracy Tips      445 Summary      446 References and More Information      446 Part VII: Appendices Appendix A: The Android Debug Bridge Quick-Start Guide      447 Listing Connected Devices and Emulators      447 Directing ADB Commands to Specific Devices      448 Starting and Stopping the ADB Server      448 Stopping the ADB Server Process      448 Starting and Checking the ADB Server Process      448 Listing ADB Commands      448 Issuing Shell Commands      449 Issuing a Single Shell Command      449 Using a Shell Session      449 Using the Shell to Start and Stop the Emulator      450 Copying Files      450 Sending Files to a Device or Emulator      450 Retrieving Files from a Device or Emulator      450 Installing and Uninstalling Applications      451 Installing Applications      451 Reinstalling Applications      451 Uninstalling Applications      452 Working with LogCat Logging      452 Displaying All Log Information      452 Including Date and Time with Log Data      452 Filtering Log Information      453 Clearing the Log      454 Redirecting Log Output to a File      454 Accessing the Secondary Logs      455 Controlling the Backup Service      455 Forcing Backup Operations      455 Forcing Restore Operations      456 Wiping Archived Data      456 Generating Bug Reports      456 Using the Shell to Inspect SQLite Databases      456 Using the Shell to Stress Test Applications      456 Letting the Monkey Loose on Your Application      457 Listening to Your Monkey      457 Directing Your Monkey’s Actions      457 Training Your Monkey to Repeat His Tricks      459 Keeping the Monkey on a Leash      459 Learning More About Your Monkey      459 Installing Custom Binaries via the Shell      459 Appendix B: The SQLite Quick-Start Guide      463 Exploring Common Tasks with SQLite      463 Using the sqlite3 Command-Line Interface      464 Launching the ADB Shell      464 Connecting to a SQLite Database      464 Exploring Your Database      465 Importing and Exporting the Database and Its Data      466 Executing SQL Commands on the Command Line      468 Using Other sqlite3 Commands      469 Understanding SQLite Limitations      469 Learning by Example: A Student Grade Database      469 Designing the Student Grade Database Schema      470 Creating Simple Tables with AUTOINCREMENT      470 Inserting Data into Tables      471 Querying Tables for Results with SELECT      471 Using Foreign Keys and Composite Primary Keys      472 Altering and Updating Data in Tables      473 Querying Multiple Tables Using JOIN      474 Using Calculated Columns      474 Using Subqueries for Calculated Columns      476 Deleting Tables      476 Index    477


Best Sellers


Product Details
  • ISBN-13: 9780132909808
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison Wesley
  • Language: English
  • Sub Title: Advanced Topics
  • ISBN-10: 0132909804
  • Publisher Date: 05 Jul 2012
  • Binding: Digital download
  • No of Pages: 528
  • Weight: 1 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Android Wireless Application Development Volume II: Advanced Topics
Pearson Education (US) -
Android Wireless Application Development Volume II: Advanced Topics
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Android Wireless Application Development Volume II: Advanced Topics

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals

    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!