Introduction
Concurrency matters in Android apps
()
What you should know
()
1. Getting Started
Choices for concurrency in Android apps
()
Explore the starting application
()
2. Using Handlers, Runnables, and Threads
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
()
3. Manage Concurrent Tasks with Kotlin Coroutines
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
()
4. Manage Background and Deferrable Tasks
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
()
5. Create and Manage Long-Running Services
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
()