From the course: Concurrent Programming with Android: Threads, Workers, and Kotlin Coroutines

Concurrency matters in Android apps

- When you learn how to develop for Android, you typically start with what the user sees. Activities, fragments, XML layouts, and other visual components. But what the user doesn't see can be just as important to an app's functionality. Concurrent programming is a critical tool for managing these hidden parts of an Android app. With the tools I'll show you in this course, you can build an app that does more than one thing at a time, while remaining a good citizen. Sharing resources appropriately with other Android apps. Concurrent programming tools have evolved greatly since Android was first introduced over 10 years ago. In the beginning, we had Java's native threads. But we also had APIs that were specifically designed for Android. Handlers, loopers, and a special API called A sync task. But Android has evolved and changed. Instead of Java, Android is now a Kotlin first platform. With that changing programming language, we now have a whole new set of tools available that make it easier than ever before to switch back and forth between threads without enduring what developers sometimes refer to as callback hell. And as Google has locked down the operating system to prevent apps from monopolizing device resources, they've also provided new APIs that work across Android versions, such as the work manager API that makes it easy to define and manage deferrable tasks. That is jobs that don't have to be done right away, but can wait until required resources become available. My name is David Gassner and I'm and Android developer. Welcome to this course all about concurrent programming for Android.

Contents