Connect with us

Медиа

Новостное приложение: с нуля до публикации в Google Play. Часть 1

Процесс будет разбит на несколько стримов, но разбираем все подробно.

Фото аватара

Опубликовано

/

     
     

Разработка приложения для просмотра новостей на основе публичного API с нуля до публикации в Google Play. Процесс будет разбит на несколько стримов, но разбираем все подробно.

Содержание:

  • 0:00 Ожидание
  • 0:31 Начало
  • 1:21 Что делаем сегодня
  • 2:49 Технологии
  • 4:07 Про исходный код и полезная информация
  • 5:45 Разбор API
  • 8:36 Создание проекта, почему Compose
  • 10:18 С чего начнем
  • 11:31 Архитектура и библиотека, как повлиять на это — Boosty
  • 12:19 Поймет ли Junior
  • 12:50 Стэк
  • 14:55 Настройка многомодульности
  • 17:00 Добавление библиотек
  • 23:42 NewsApi, начинаем создание
  • 26:06 NewsApi, Enum для сортировки, аргументы пагинации
  • 27:27 Про автоген по api
  • 28:27 Удобные Jetpack аннотации
  • 30:00 Класс для сортировки, мультикурсор
  • 32:55 Модель возвращаемого типа
  • 34:24 Почему везде @Serializable
  • 35:25 Создаём модели сущностей ответа
  • 39:21 NewsApi, инициализация
  • 41:44 Trailing coma
  • 42:35 NewsApi, converter factory для retrofit
  • 44:37 Ссылка на документацию в api
  • 45:45 Сериализация данных
  • 55:48 Почему стоит скрывать API
  • 56:06 Kotlin Result в возвращаемых типах Retrofit
  • 58:30 Interceptor для api key
  • 1:04:00 Разница между Interceptorами, настройка OkHttpClient
  • 1:06:15 Вопросы чата
  • 1:07:18 Как разделять api сервисы по модулям
  • 1:08:05 Почему public поля моделей?
  • 1:08:25 Как передать api key в Header, суть Interceptor
  • 1:09:31 Почему не BuildSrc?
  • 1:10:33 Кэширование данных в Базе Данных (БД)
  • 1:11:30 БД, чистим build.gradle
  • 1:11:51 БД подключаем Room и ksp
  • 1:14:59 Зачем apply false в плагинах
  • 1:16:45 БД, имплементация Room
  • 1:20:20 БД, @Embedded для вложенных классов Entity
  • 1:21:40 DBO и DTO для мапинга
  • 1:23:35 БД, про кэш и key
  • 1:26:06 БД Room Embedded
  • 1:28:19 Ответы на вопросы зрителей
  • 1:30:49 Как будут организованы фичи
  • 1:32:36 Чистим build.gradle, подключаем Compose
  • 1:33:55 Создаем входную Composable функцию для фичи
  • 1:34:28 Получаем Jetpack View Model, корутины, бд и api модули
  • 1:38:22 Создаем NewsViewModel, domain модель новостей
  • 1:39:34 Создаем State класс, StateFlow через get()
  • 1:41:57 News-data модуль для медиации api и бд
  • 1:44:08 Доделывание БД, Dao, Clear table
  • 1:48:05 Доделывание БД, Database
  • 1:51:10 Room date type converter
  • 1:53:06 Flow без suspend в dao, чистка tests
  • 1:54:05 Имплементация медиатора news-data в виде репозитория
  • 1:55:25 Про модели
  • 1:57:00 UseCase для примера
  • 1:58:10 Доработка репозитория
  • 1:59:28 Мапперы
  • 2:01:05 Room как api зависимость, как исправить
  • 2:04:14 Обсуждение логики, состояние запроса из бд
  • 2:08:06 Финал, что дальше
  • 2:08:38 Где найти исходники?

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement

Наши партнеры:

LEGALBET

Мобильные приложения для ставок на спорт
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: