Android Background Processing

Learn about all the cool concepts from background processing in Android! Use the WorkManager, JobScheduler, Services, AsyncTasks and the AlarmManager. Learn what each concept brings to the table, and how they affect your app's performance! By Filip Babić.

Leave a rating/review
Download materials
Save for later

Learning path

This is part of the Android Data & Networking learning path. View path.

Who is this for?

Beginner Android developers who want to learn more about different background processing options the Android ecosystem provides, such as Services and the WorkManager.

Covered concepts

  • Threading basics
  • WorkManager
  • DownloadManager
  • AsyncTask
  • JobScheduler
  • AlarmManager
  • Services
  • IntentService
  • JobService
  • JobIntentService
  • Foreground Services
  • BroadcastReceivers

Part 1: Run Background Work

Toggle description

Learn which concepts you'll cover in this course, by exploring what each concept does and how it works in Android.

Introduce the projects you'll use in the course, set up your IDE, and repeat the concepts you've learned in previous courses about threading.

Toggle description

Use the WorkManager API to implement a simple worker which does some work in the background.

Toggle description

Explore the WorkManager API more, by implementing more workers, and adding results to those workers, chaining them together.

Toggle description

Implement another worker, to apply a filter to the image, practicing what you've learned so far.

Conclusion 1:17
Toggle description

Revise the concepts you've learned so far, and prepare for the next part of the course.

Part 2: Use WorkManager In Complex Apps

Toggle description

Repeat the concepts from the first part of the course, and be introduced to the new concept you'll learn - DownloadManager.

Toggle description

Set up the second course projects. Install Node.js, and run the server, set up the base URL for the Android project.

Toggle description

Implement a similar example as in the first part of the course, in a more complex application.

Chain Work 10:37
Toggle description

Implement more workers and add more functionality to the project. Chain workers, and their results.

Toggle description

Practice using the WorkManager API, to implement another worker and chain and observe the results.

Toggle description

Replace the WorkManager usage when downloading images, with the DownloadManager, to display download progress.

Toggle description

Practice using the DownloadManager, to add more support for download progress.

Conclusion 1:42
Toggle description

Revise all the concepts learned so far, and the use cases you covered using the WorkManager and DownloadManager.

Part 3: Use Android Services

Toggle description

Revise some of the concepts you've learned previously, and introduce a bunch of new concepts revolving around Services.

Toggle description

Implement the basic Android Service, to run work in the background, and offload the main thread.

Toggle description

Build an IntentService and a JobIntentService, to represent one-off work, which you run and forget about.

Toggle description

Practice what you've learned about Services, to implement another JobIntentService, and run one-off work.

Toggle description

Learn about background restrictions, and foreground Services which display a notification to users.

Toggle description

Implement the go-to way for communication between Android components which are used for background processing - BroadcastReceivers.

Repeat everything you've learned about Services and BroadcastReceivers, in a fun challenge!

Conclusion 1:54
Toggle description

Revise all the concepts you've learned, and all the mechanisms you've implemented, so far in the course, and prepare for the last part.

Part 4: Implement Legacy Background Processing

Toggle description

Repeat everything you've learned so far, and learn about the legacy concepts in background processing in Android.

Toggle description

Implement an AsyncTask, the notorious wholesome API for background processing and returning values from the background.

Toggle description

Implement the JobService, powered by the JobScheduler API, to run tasks with constraints, similar to WorkManager's Workers.

Toggle description

As the last legacy concept, use the AlarmManager to create a signal to wake up the device and update an existing Activity.

Conclusion 2:18
Toggle description

Wrap up the entire course, by revisiting all the concepts once more, and discovering new courses and tutorials to go through next!

Up next

Android & Kotlin
Kotlin Flow: Getting Started
Kotlin Flow is a new asynchronous stream library from JetBrains, the company behind the Kotlin language. S... more



Filip Babić


Christine Sweigart


Adriana Kutenko


Over 300 content creators. Join our team.