Используйте эти дополнительные ресурсы, чтобы узнать больше о сопрограммах и потоках Kotlin. Эти ресурсы сгруппированы по темам.
Основы
- Перво-наперво : в этой статье рассматриваются основные концепции сопрограмм, включая
CoroutineScope
,Job
иCoroutineContext
. - Азбука сопрограмм : узнайте о наиболее распространенных классах и функциях, используемых при работе с сопрограммами.
- Сопрограммы в Android (серия — ссылка на первую статью) : этот пост является первым в серии, в которой рассказывается о сопрограммах Kotlin.
- Понимание сопрограмм Kotlin на Android : в этом докладе Google I/O 2019 представлен обзор использования сопрограмм Kotlin на Android.
- Лаборатория кода сопрограмм : в этой лаборатории кода показано, как использовать сопрограммы Kotlin для управления фоновыми потоками и упрощения асинхронного кода.
- Сопрограммы: как управлять асинхронными задачами в Kotlin : узнайте о состоянии сопрограмм в Android по состоянию на 2020 год.
Отмена
- Отмена в сопрограммах : в этой статье рассказывается о тонкостях отмены сопрограмм.
- Сопрограммы: надо поймать их всех : изучите лучшие практики обработки отмены и исключений в сопрограммах Kotlin.
Исключения
- Исключения в сопрограммах . Узнайте, как исключения распространяются в сопрограммах и как с ними обращаться.
- Сопрограммы: надо поймать их всех : изучите лучшие практики обработки отмены и исключений в сопрограммах Kotlin.
Области применения
- Простые сопрограммы в Android: viewModelScope : в этой статье описывается
viewModelScope
, свойство расширения, которое добавляет поддержку сопрограмм в классViewModel
. - Шаблоны для работы, которую нельзя отменять . В этой статье описывается, как запускать сопрограммы, которые нельзя отменять, с помощью
applicationScope
илиexternalScope
.
Поток
- Going with the Flow : узнайте об API потока и его преимуществах.
- Расширенные сопрограммы с Kotlin Flow и LiveData . Узнайте, как использовать сопрограммы Kotlin с
LiveData
и потоком в приложении для Android. - Уроки, извлеченные из использования Coroutines Flow в приложении Android Dev Summit 2019. В этой статье описаны лучшие практики и другие уроки, извлеченные при добавлении поддержки потока в приложение Android Dev Summit 2019.
- Что нужно знать об операторах ShareIn и StateIn Flow : в этой статье рассказывается о том, как операторы
stateIn
иshareIn
можно использовать для повышения производительности или даже в качестве механизма кэширования. - Миграция с LiveData на Kotlin Flow . В этой статье рассказывается о том, какой код Flow эквивалентен некоторым из наиболее распространенных шаблонов LiveData, которые вы можете использовать в своем приложении. Это поможет, если вы заинтересованы в переходе с LiveData на Flow.
Тестирование
- Тестирование сопрограмм на Android . Узнайте о лучших методах тестирования сопрограмм.
- Тестирование кодовой лаборатории — раздел «Сопрограммы» . Узнайте о тестировании моделей ViewModel, использующих сопрограммы, путем замены
Dispatchers.Main
наTestCoroutineDispatcher
. - Тестирование двух последовательных выбросов LiveData в сопрограммах . Узнайте, как использовать
TestCoroutineDispatcher
для приостановки и возобновления выполнения сопрограмм.
Библиотеки, Jetpack и сопрограммы
- LiveData с сопрограммами и Flow : в этом докладе на Android Dev Summit 2019 рассказывается, как использовать конструктор сопрограмм
liveData
, а также шаблоны тестирования и антишаблоны для создания чистых, эффективных и надежных реактивных пользовательских интерфейсов. - Создание библиотеки расширений Kotlin . Узнайте, как создать библиотеку расширений Kotlin, которая добавляет сопрограммы и поддержку потоков в существующие классы.
- Упрощение API с помощью сопрограмм и Flow . Узнайте, как упростить библиотеки с помощью адаптеров сопрограмм, создать свои собственные и посмотреть, как они работают «под капотом».
Сопрограммы на уровне представления
- Приостановка просмотров : в этом посте рассказывается о том, как сопрограммы могут упростить программирование пользовательского интерфейса.
Под капотом
- Приостановка функций — Словарь Kotlin : узнайте, почему сопрограммы важны и как они работают «под капотом».
- Модификатор suspend под капотом : узнайте, как компилятор преобразует ваш код, чтобы приостановить и возобновить выполнение ваших сопрограмм.