YoVDO

Concurrent Programming with Android: Threads, Workers, and Kotlin Coroutines

Offered By: LinkedIn Learning

Tags

Android Development Courses Concurrent Programming Courses Threads Courses

Course Description

Overview

Take a deep dive into concurrent programming for Android. Learn about the techniques and components available for running tasks in the background.

Syllabus

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
Conclusion
  • Next steps

Taught by

David Gassner

Related Courses

Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld Systems
Vanderbilt University via Coursera
Paradigms of Computer Programming
Université catholique de Louvain via edX
Introduction to Operating Systems
Georgia Institute of Technology via Udacity
Programming Mobile Services for Android Handheld Systems: Content
Vanderbilt University via Coursera
Advanced Software Construction in Java
Massachusetts Institute of Technology via edX