В этом видео — логика загрузки данных из нескольких источников. Предыдущая часть здесь.
Содержание:
- 00:00 Повестка дня и полезная информация
- 01:02 Работа в AvitoTech
- 02:10 Кодинг
- 05:09 Рисунок логики работы запроса новостей
- 13:12 Flow бд и api запроса
- 21:09 RequestResult, улучшаем api flow
- 35:47 RequestResult мапперы
- 41:12 Возврат ошибок из api flow, Result.toRequestResult
- 50:00 Merge c InProgress flow
- 58:42 Старт комбинации flow бд и api
- 1:04:50 Доработка RequestResult, маппинг к Article
- 1:13:23 InProgress в flow бд
- 1:17:12 MergeStrategy, причесывание кода
- 1:20:43 Еще раз про логику запроса, почему используем Flow
- 1:22:33 Почему используем не Kotlin Result
- 1:23:29 Пояснение предыдущего кода
- 1:24:09 MergeStratery, имплементация
- 1:38:12 Доработка логики flow бд
- 1:43:28 Тонкие моменты бизнес логики и имплементации
- 1:44:54 Удаление UseCase, используем getAll
- 1:46:10 RequestResult map в State
- 1:52:23 Вынос UiArticle маппера в UseCase
- 1:55:09 Другие варианты работы с state запроса, с ошибками
- 2:19:07 Удаление checkNotNull()
- 2:01:43 Пример логики refresh
- 2:09:01 DI, добавление зависимостей
- 2:18:26 DI, базовая настройка
- 2:21:37 DI, api и бд
- 2:28:35 DI, где нужен @Singlenot
- 2:30:16 Ответы на вопросы
- 2:30:52 Преимущества Dagger перед Hilt
- 2:31:21 Преимущества BuildConfigField перед const
- 2:32:05 Provider в ViewModel
- 2:32:55 Про ссылку на GitHub
- 2:33:22 Заключение