In Chapter 2, Performing Work with Looper, Handler and HandlerThread, we familiarized ourselves with the most basic asynchronous and concurrency constructs available on the Android platform: Handler
and Looper
. Those constructs underpin most of the evented and sequential processing used by the main thread to render the UI and to run the Android components life cycle.
In this chapter, we are going to explore android.os.AsyncTask
, a higher level construct that provides us with a neat and lean interface to perform background work and publish results back to the main thread without having to manage the thread creation and the handler manipulation.
In this chapter we will cover the following topics:
Introducing AsyncTask
Declaring AsyncTask types
Executing AsyncTasks
Providing indeterministic progress feedback
Providing deterministic progress feedback
Canceling an AsyncTask
Handling exceptions
Controlling the level of concurrency
Common AsyncTask issues
Applications of...