Разработка приложения для просмотра новостей на основе публичного API с нуля до публикации в Google Play. Процесс будет разбит на несколько стримов, но разбираем все подробно 🔗 Каналы “Android Broadcast“ ✉️ Написать Кирилл kirill@ 🔗 Android Broadcast Плюс #кодинг #androiddev #android #программирование #kotlin #КириллРозов #андроид #AndroidBroadcast 0:00 Ожидание 0:31 Начало 1:21 Что делаем сегодня 2:49 Технологии 4:07 Про исходный код и полезная информация 4:38 Разбор API 7:29 Создание проекта, почему Compose 9:11 С чего начнем 10:24 Архитектура и библиотека, как повлиять на это - Boosty 11:12 Поймет ли Junior 11:43 Стэк 13:48 Настройка многомодульности 15:53 Добавление библиотек 22:35 NewsApi, начинаем создание 24:59 NewsApi, Enum для сортировки, аргументы пагинации 26:20 Про автоген по api 27:20 Удобные Jetpack аннотации 28:53 Класс для сортировки, мультикурсор 31:48 Модель возвращаемого типа 33:17 Почему везде [club200225840|@Serializable] 34:18 Создаём модели сущностей ответа 38:14 NewsApi, инициализация 40:37 Trailing coma 41:28 NewsApi, converter factory для retrofit 43:30 Ссылка на документацию в api 44:38 Сериализация данных 54:41 Почему стоит скрывать API 54:59 Kotlin Result в возвращаемых типах Retrofit 57:23 Interceptor для api key 1:02:53 Разница между Interceptorами, настройка OkHttpClient 1:05:08 Вопросы чата 1:06:11 Как разделять api сервисы по модулям 1:06:58 Почему public поля моделей? 1:07:18 Как передать api key в Header, суть Interceptor 1:08:24 Почему не BuildSrc? 1:09:26 Кэширование данных в Базе Данных (БД) 1:10:23 БД, чистим 1:10:44 БД подключаем Room и ksp 1:13:52 Зачем apply false в плагинах 1:15:38 БД, имплементация Room 1:19:13 БД, [id338555914|@Embedded] для вложенных классов Entity 1:20:33 DBO и DTO для мапинга 1:22:28 БД, про кэш и key 1:24:59 БД Room Embedded 1:27:12 Ответы на вопросы зрителей 1:29:42 Как будут организованы фичи 1:31:29 Чистим , подключаем Compose 1:32:48 Создаем входную Composable функцию для фичи 1:33:21 Получаем Jetpack View Model, корутины, бд и api модули 1:37:15 Создаем NewsViewModel, domain модель новостей 1:38:27 Создаем State класс, StateFlow через get() 1:40:50 News-data модуль для медиации api и бд 1:43:01 Доделывание БД, Dao, Clear table 1:46:58 Доделывание БД, Database 1:50:03 Room date type converter 1:51:59 Flow без suspend в dao, чистка tests 1:52:58 Имплементация медиатора news-data в виде репозитория 1:54:18 Про модели 1:55:53 UseCase для примера 1:57:03 Доработка репозитория 1:58:21 Мапперы 2:00:00 Room как api зависимость, как исправить 2:03:07 Обсуждение логики, состояние запроса из бд 2:06:59 Финал, что дальше 2:07:31 Где найти исходники?
Hide player controls
Hide resume playing