Перейти к содержимому

Разработка под 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