Asynchronous Android

Asynchronous Android
eBook: $23.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $63.98    Print cover: $39.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Learn how to use Android's high-level concurrency constructs to keep your applications smooth and responsive
  • Leverage the full power of multi-core mobile CPUs to get more work done in less time
  • From quick calculations to scheduled downloads, each chapter explains the available mechanisms of asynchronous programming in detail

Book Details

Language : English
Paperback : 146 pages [ 235mm x 191mm ]
Release Date : December 2013
ISBN : 1783286873
ISBN 13 : 9781783286874
Author(s) : Steve Liles
Topics and Technologies : All Books, Application Development, Mobile Application Development, Open Source

Table of Contents

Chapter 1: Building Responsive Android Applications
Chapter 2: Staying Responsive with AsyncTask
Chapter 3: Distributing Work with Handler and HandlerThread
Chapter 4: Asynchronous I/O with Loader
Chapter 5: Queuing Work with IntentService
Chapter 6: Long-running Tasks with Service
Chapter 7: Scheduling Work with AlarmManager
  • Chapter 1: Building Responsive Android Applications
    • Introducing the Dalvik Virtual Machine
      • Memory sharing and the Zygote
    • Understanding the Android thread model
      • The main thread
      • Unresponsive apps and the ANR dialog
      • Maintaining responsiveness
      • Concurrency in Android
        • Correctness issues in concurrent programs
        • Liveness issues in concurrent programs
        • Android-specific concurrency issues
      • Android-specific concurrency constructs
    • Summary
  • Chapter 2: Staying Responsive with AsyncTask
    • Introducing AsyncTask
    • Declaring AsyncTask types
    • Executing AsyncTasks
    • Providing feedback to the user
      • Providing progress updates
    • Canceling AsyncTask
    • Handling exceptions
    • Controlling the level of concurrency
    • Common AsyncTask issues
      • Fragmentation issues
      • Activity lifecycle issues
        • Handling lifecycle issues with early cancellation
        • Handling lifecycle issues with retained headless fragments
    • Applications of AsyncTask
    • Summary
  • Chapter 3: Distributing Work with Handler and HandlerThread
    • Understanding Looper
    • Building responsive apps with Handler
      • Scheduling work with post
        • Canceling a pending Runnable
      • Scheduling work with send
        • Canceling pending Messages
        • Composition versus Inheritance
        • Multithreaded example
      • Sending Messages versus posting Runnables
      • Building responsive apps with HandlerThread
    • Handler programming issues
      • Leaking implicit references
      • Leaking explicit references
    • Applications of Handler and HandlerThread
    • Summary
  • Chapter 4: Asynchronous I/O with Loader
    • Introducing Loaders
    • Building responsive apps with AsyncTaskLoader
    • Building responsive apps with CursorLoader
    • Combining Loaders
    • Applications of Loaders
    • Summary
  • Chapter 5: Queuing Work with IntentService
    • Introducing Service and IntentService
    • Building responsive apps with IntentService
      • Handling results
        • Returning results with PendingIntent
        • Posting results as system notifications
    • Applications of IntentService
      • HTTP uploads with IntentService
      • Reporting progress
    • Summary
  • Chapter 6: Long-running Tasks with Service
    • Building responsive apps with Service
      • Controlling concurrency with Executors
      • Returning results with Messenger
    • Communicating with Services
      • Direct communication with local Services
      • Broadcasting results with Intents
      • Detecting unhandled broadcasts
    • Applications of Services
    • Summary
  • Chapter 7: Scheduling Work with AlarmManager
    • Scheduling alarms with AlarmManager
      • Canceling alarms
      • Scheduling repeating alarms
    • Handling alarms
      • Handling alarms with Activities
      • Handling alarms with BroadcastReceiver
        • Doing work with BroadcastReceiver
        • Doing background work with goAsync
      • Handling alarms with Services
    • Staying awake with WakeLocks
    • Applications of AlarmManager
    • Summary

Steve Liles

Steve Liles is a self-confessed geek and has been an Android fan since the launch day of the G1. When he isn't at work building publishing systems and apps for newspapers and magazines, you'll find him tinkering with his own apps, building 3D printers, or playing RTS games. He is currently working with a start-up to build an advertising system that links the print and digital worlds using computer vision on Android and iOS devices.

Sorry, we don't have any reviews for this title yet.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


- 1 submitted: last submission 12 May 2014

Type: Technical | Page no: 26

The SafeAsyncTask class mentioned in the line "In the  downloadable code, you'll find a handy  SafeAsyncTask  class that takes care of exception handling, and makes it easy to deal with exceptions or results." in chapter 02 is not provided in the uploaded code bundle.

For the same, visit the link and click on the Download ZIP button on the right-hand side.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Asynchronous Android +    Haskell Data Analysis Cookbook =
50% Off
the second eBook
Price for both: $40.05

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Understand Android's process model and its implications on your applications
  • Exercise multithreading to build well-behaved Android applications that work with the platform
  • Apply and control concurrency to deliver results quickly and keep your applications responsive to user input
  • Discover Android-specific constructs that make asynchronous programming easy and efficient
  • Learn how to apply Android's concurrency constructs to build smooth and responsive applications

In Detail

With more than a million apps available from Google Play, it is more important than ever to build apps that stand out from the crowd. To be successful, apps must react quickly to user input, deliver results in a flash, and sync data in the background. The key to this is understanding the right way to implement asynchronous operations that work with the platform, instead of against it. Asynchronous Android is a practical book that guides you through the concurrency constructs provided by the Android platform, illustrating the applications, benefits, and pitfalls of each.

Learn to use AsyncTask correctly to perform operations in the background, keeping user-interfaces running smoothly while avoiding treacherous memory leaks. Discover Handler, HandlerThread and Looper, the related and fundamental building blocks of asynchronous programming in Android. Escape from the constraints of the Activity lifecycle to load and cache data efficiently across your entire application with the Loader framework. Keep your data fresh with scheduled tasks, and understand how Services let your application continue to run in the background, even when the user is busy with something else.

Asynchronous Android will help you to build well-behaved apps with smooth, responsive user-interfaces that delight users with speedy results and data that’s always fresh, and keep the system happy and the battery charged by playing by the rules.


Asynchronous Android is a step-by-step guide that builds a complete picture of the concurrency constructs available on the Android platform.

Who this book is for

This book is for Android developers who want to learn about the advanced concepts of Android programming. No prior knowledge of concurrency and asynchronous programming is required. This book is also targeted towards Java experts who are new to Android.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software