Лабораторна робота 5. Збереження даних застосунку засобами Room API
Completion requirements
- Додайте до файлів конфігурації проєкту залежності, які надають можливість роботи з Room API.
- Додайте до файлів конфігурації проєкту плагін KSP.
- Додайте до файлу/файлів даних анотації, які зроблять з нього/них сутності Room. Додайте при необхідності анотації, які визначають зв'язки між сутностями.
- Додайте до проєкту інтерфейс DAO з визначеними функціями роботи з базою даних.
- Додайте до проєкту клас бази даних з методом отримання посилання на неї.
- Виконайте модифікацію функцій інтерфейсу репозиторію, що працюватимуть з корутинами.
- Виконайте модифікацію класу реалізації репозиторію так, щоб він приймав як параметр DAO та його функції використовували методи DAO.
- Визначте клас аплікації, у якому оголошений сінглетон для створення репозиторію. Виконайте відповідну модифікацію AndroiidManifest.xml для забезпечення запуску екземпляра класу аплікації на початку роботи застосунку.
- Виконайте необхідний рефакторинг класів ViewModel, визначеного у попередніх лабораторних роботах, так, щоб вони використовував функції репозиторію для роботи з базою даних.
- Виконайте рефакторинг Composable-функцій екранів, зокрема для отримання репозиторію з контексту аплікації.
- Виконайте необхідний рефакторинг навігаційного компоненту (або головної активності).
- За допомогою DB Browser for SQLite створіть prepackaged базу даних з тестовими даними та запишіть її у файл.
- Створіть спеціалізовану папку assets у файловій структурі проєкту. Зробіть у ній підкаталог database та розмістіть файл з prepackaged базою даних.
- Додайте до білдеру у методі отримання бази даних у класі бази даних виклик методу завантаження інформації з prepackaged бази даних.
- За допомогою інструменту Android Studio Device Explorer впевніться у створенні бази даних у файловій структурі мобільного/віртуального пристрою.
- За допомогою інструменту Android Studio Database Inspector (або програми DB Browser for SQLite) відкрийте створену базу даних та передивіться інформацію у ній.
- Виконайте рефакторинг компонентів UI шару так, щоб Composable-функції екранів були без стану (stateless).
- Занесіть вміст файлів конфігурації, вихідний код створених/редагованих класів, а також скріншоти роботи застосунку та бази даних у Database Inspector до звіту, виконайте його оформлення у відповідності до шаблону на сторінці дисципліни та надішліть звіт до СЕЗН ЗНУ (Moodle).
- Виконайте коміт коду проєкту на цій стадії до окремої гілки репозиторію на GitHub з назвою lab5.