Забаглся ROOM в телефоне
Я кое-что поменял в структуре класса. Рум, конечно же, начал ругаться что "существующая структура БД не совпадает с новой".
Приложение с телефона удалил. Перезагружал. Чистил кэш проекта. Пересобирал Gradle.
Все бестолку.
На эмуляторе все работает отлично. Достаточно просто удалить приложение и все работает хорошо.
А вот на реальном телефоне не помогает.
Samsung Galaxy A12
Что еще нужно сделать, чтобы полностью снести приложение с телефона?
Ответы (1 шт):
Ваше устройство как минимум на андроид 9, так что вы всегда можете найти файлы БД с помощью Device File Explorer в debug режиме. Вкладка с этим инструментом находится на правом углу студии. Проследуйте по пути data/data/имя_приложения/databases/
Убедитесь, что файлы удаляются. Чтобы удалить кеш на вашем устройстве: пальцем вверх / вниз> Настройки > Приложения . Выберите приложение, выберите « Хранилище» > « Очистить кеш» и « Очистить данные» .
В новой версии room доступны автомиграции, которые исключают подобные проблемы
https://developer.android.com/training/data-storage/room/migrating-db-versions#automated
Так же попробуйте добавить fallbackToDestructiveMigration
val builder = Room.databaseBuilder(context, AppDatabase::class.java, "database.db")
builder.fallbackToDestructiveMigration()
fallbackToDestructiveMigration сработает если повысить версию базы, относительно предыдущей.