Android Live 🤖
5.25K subscribers
52 photos
2 videos
806 links
Самые свежие новости, новинки и тренды Android от практикующего разработчика.


Автор: @al_gorshkov,
Чат: @android_live_chat
Личный блог: @al_gorshkov_blog

Рекламу не размещаю
Download Telegram
​​Kotlin Flow
#flow #kotlin #documentation

Совсем недавно Google добавили в раздел документации информацию про Kotlin Flow. Давайте посмотрим подробнее, что там есть.

Вначале описывается то, что из себя представляет Flow: по сути, это тип, который похож на Iterator, который также отдаёт последовательность данных, но при этом использует suspend-функции для работы. Работа любого Flow делится на этапы создания, обработки и получения данных.

Для создания Flow можно использовать специальный builder, в котором можно вызвать функцию emit для публикации данных во Flow. Есть также две особенности работы Flow, о которых надо помнить:
🔹Flow последователен, поэтому все вызываемые suspend-функции ждут результата выполнения друг друга.
🔹flow builder не может «емиттить» данные через другой CoroutineContext.
Описан также хороший пример для понимая работы Flow.

Дальше есть пример использования оператора map — как пример изменения данных, формируемых Flow.
Сразу за ним — использование оператора collect для получения данных.

📌Важно обратить внимание на использование оператора flowOn, так как он распространяет своё действие на операторы, написанные выше.

Не забыли упомянуть и про обработку исключений, используя оператор catch.

Подробнее можно почитать тут. Как по мне, получилась хорошая документация, описывающая базу для работы с Flow. Годно.✌🏻