Suspend-функції vs. Kotlin Flow – Android-проект з нуля

Використання Kotlin Flow для ефективного завантаження та кешування даних. Розглядаємо особливості різних варіантів та можливі ситуації, такі як помилки, повторне завантаження, кешування і т.д.

Тайм-коди:

  • 00:00 – Вступ
  • 02:48 – suspend-функції
  • 06:31 – Kotlin Result & runCatching
  • 11:05 – Кастомний тип (a.k.a. Response / Container)
  • 13:29 – Найпростіший Flow: flow-білдер
  • 19:15 – Flow + Container
  • 24:46 – Оператор stateIn + WhileSubscribed + впровадження CoroutineScope
  • 33:56 – Використання flatMapLatest: тригери на завантаження даних
  • 42:23 – PullToRefresh: тригер на завантаження даних з додатковими аргументами
  • 49:34 – LazyFlowSubject
  • 56:25 – Висновки

Код проекту тут (silver) і тут (gold).