Лабораторна робота 5. Збереження даних застосунку засобами Room API

  1. Додайте до файлів конфігурації проєкту залежності, які надають можливість роботи з Room API.
  2. Додайте до файлів конфігурації проєкту плагін KSP.
  3. Додайте до файлу/файлів даних анотації, які зроблять з нього/них сутності Room. Додайте при необхідності анотації, які визначають зв'язки між сутностями.
  4. Додайте до проєкту інтерфейс DAO з визначеними функціями роботи з базою даних.
  5. Додайте до проєкту клас бази даних з методом отримання посилання на неї.
  6. Додайте до проєкту клас репозиторію з визначеними функціями реалізації логіки застосунку.
  7. Додайте до проєкту клас контейнеру, який використовує "лінивий" делегат для отримання репозиторію.
  8. Визначте клас аплікації, у якому створюється об'єкт контейнера. Виконайте відповідну модифікацію AndroiidManifest.xml для забезпечення запуску застосунку з класу аплікації.
  9. Виконайте рефакторинг класу-нащадка ViewModel, визначеного у попередніх лабораторних роботах, так, щоб він використовував функції репозиторію для роботи з базою даних. Додайте до цього класу компаньон-об'єкт, який буде визначати ViewModelFactory, що пов'язана з класами аплікації, контейнера та репозиторію.
  10. Виконайте рефакторинг Composable-функцій екранів та активності (активностей) для використання ViewModel та засобів роботи з базою даних.
  11. За допомогою DB Browser for SQLite створіть prepackaged базу даних з тестовими даними та запишіть її у файл.
  12. Створіть спеціалізовану папку assets у файловій структурі проєкту. Зробіть у ній підкаталог database та розмістіть файл з prepackaged базою даних.
  13. Додайте до білдеру у методі отримання бази даних у класі бази даних виклик методу завантаження інформації з prepackaged бази даних.
  14. За допомогою інструменту Android Studio Device Explorer впевніться у створенні бази даних у файловій структурі мобільного/віртуального пристрою.
  15. За допомогою інструменту Android Studio Database Inspector відкрийте створену базу даних та передивіться інформацію у ній.
  16. Занесіть вміст файлів конфігурації, вихідний код створених/редагованих класів, а також скріншоти роботи застосунку та бази даних у Database Inspector до звіту, виконайте його оформлення у відповідності до шаблону на сторінці дисципліни та надішліть звіт до СЕЗН ЗНУ (Moodle).
  17. Виконайте коміт коду проєкту на цій стадії до окремої гілки репозиторію на GitHub з назвою lab5.