Take a deep dive into concurrent programming for Android. Learn about the techniques and components available for running tasks in the background.
Overview
Syllabus
Introduction
- Concurrency matters in Android apps
- What you should know
- Choices for concurrency in Android apps
- Explore the starting application
- Define and run a Runnable object
- Delay execution of a Runnable object
- Manage background tasks with threads
- Send a message to the UI from a background thread
- Challenge: Run multiple background tasks with threads
- Solution: Run multiple background tasks with threads
- Define and run a simple coroutine
- Switch between foreground and background threads
- Run coroutines in a ViewModel class
- Cancel coroutines with a job reference
- Challenge: Run multiple coroutines in a ViewModel
- Solution: Run multiple coroutines in a ViewModel
- Run background tasks with IntentService
- Upgrade IntentService to JobIntentService
- Send results from JobIntentService to the UI
- Manage deferrable tasks with WorkManager
- Set work request constraints
- Get results from a background worker
- Send progress updates from a background worker
- Create and run a bound service
- Started services and background processing limits
- Play audio in a service with MediaPlayer
- Run a service in the foreground
- Send intents from a foreground notification
- Style a foreground notification
- Next steps
Taught by
David Gassner