Новостное приложение: с нуля до публикации в Google Play. Часть 1
Разработка приложения для просмотра новостей на основе публичного 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 Где найти исходники?
322 views
597
144
1 month ago 00:02:15 1
В Самарской области стартовала региональная программа “Школа Героев“