- Фильмы и анимация
- Музыка
- Домашние животные
- Виды спорта
- Путешествия и события
- Азартные игры
- Люди и блоги
- Комедия
- Развлекательная программа
- Новости и политика
- Как сотворить & Стиль
- Некоммерческое и активизм
- Фантастика
- Фэнтези
- Наука
- Вселенная и Космос
- Микс
- Видеоигры
- Будущее
- Сказки
- Прямой эфир
- Магия
- Другое
Разработка новостного приложения. Часть 2. Логика загрузки данных из нескольких источников
Продолжение разработки новостного приложения
🔗 Вакансия AvitoTech http://abdev.by/nwsS?/erid=LdtCKU5Nv
🔗 Каналы "Android Broadcast" https://taplink.cc/android_broadcast
✉️ Написать Кириллу kirill@androidbroadcast.dev
🔗 Boosty Android Broadcast http://abdev.by/Fwkx
#кодинг #androiddev #android #программирование #kotlin #КириллРозов #андроид #androidbroadcast
0:00 Повестка дня и полезная информация
1:02 Работа в AvitoTech
2:10 Кодинг
5: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 Заключение