Разработка под Android #12 — База данных Room для начинающих: Entity, DAO, Coroutines и Flow в Co...
Fahim Khan
0:00 / 0:00
Разработка под Android #12 — База данных Room для начинающих: Entity, DAO, Coroutines и Flow в Co...
144 просмотра · 3 дня назад
Fahim Khan
54 подписчика
144 просмотра · 3 дня назад
Добро пожаловать обратно в нашу серию по разработке под Android! 🚀
В этом видео мы реализуем полную настройку базы данных Room — сущности, DAO с корутинами и потоками, чистую базу данных-синглтон и вставку/чтение данных в реальном времени внутри Jetpack Compose — и всё это менее чем за 60 строк кода!
Мы рассмотрим:
✅ Что такое Room Database и почему мы используем её вместо SQLite, созданного вручную
✅ Создание сущности для определения структуры таблиц
✅ Создание DAO (объекта доступа к данным) с помощью корутин и Flow
✅ Настройка чистого экземпляра базы данных Singleton
✅ Вставка данных с использованием функции suspend
✅ Чтение данных в реальном времени с помощью Flow и collectAsState в Compose
✅ Мгновенное отображение данных по мере их обновления — ручное обновление не требуется
✅ Тестирование вставки и чтения непосредственно в нашем приложении
Это показывает, как мало кода вам на самом деле нужно, чтобы получить полностью реактивную, постоянно работающую локальную базу данных, работающую с Jetpack Compose — идеально подходит для приложений для заметок, списков дел или любого приложения, которому необходимо сохранять данные локально!
📌 Предыдущее видео: Чтение и запись текстовых файлов в Kotlin без разрешений хранилища
🔗 • Android Development #11 — File Read/Write ...
👍 Если это вам помогло, поставьте лайк видео, задайте свои вопросы в комментариях и подпишитесь, чтобы не пропустить следующую часть!
Временные метки:
0:00 Введение в базу данных Room и абстракцию SQLite
2:43 Зависимости Gradle и настройка KSP
4:12 Создание класса данных сущности (@Entity)
6:21 Определение интерфейса DAO (@Insert, @Delete, @Query с Flow)
10:49 Настройка RoomDatabase и Database Builder
16:00 Создание пользовательского интерфейса с помощью полей ввода OutlinedTextField
21:42 Сбор данных из базы данных (collectAsStateWithLifecycle)
25:03 Рендеринг динамических задач с помощью LazyColumn и ListItem
27:06 Выполнение CRUD с помощью корутин (Dispatchers.IO)
32:00 Тестирование приложения и отладка состояния пользовательского интерфейса
34:55 Анализ кода SQLite, сгенерированного Room
36:42 Резюме и следующие архитектурные шаги
#AndroidDevelopment #JetpackCompose #RoomDatabase #AndroidStudio #KotlinTutorial #Coroutines #Flow #LearnToCode #MobileAppDevelopment #CodingForBeginners