Данные не вставляются и не обновляются после удаления таблицы в БД комнаты Android

#android #sqlite #android-room

Вопрос:

Я пытаюсь очистить базу данных при нажатии кнопки выхода из системы.
Класс базы данных FlatDatabase

 @Database(entities = {SocietyFlatsDetailsData.class},version = 1)
public abstract class FlatDatabase extends RoomDatabase {
public static FlatDatabase instance;
public abstract FlatDao flatDao();

public static synchronized FlatDatabase getInstance(Context context){
    if (instance==null){
        instance = Room.databaseBuilder(context.getApplicationContext()
                ,FlatDatabase.class,"flat_database")
                .fallbackToDestructiveMigration()
                .allowMainThreadQueries()
                .build();
    }
    return instance;
   }
}
 

Я очищаю данные с помощью этой строки

 FlatDatabase.getInstance(getContext()).clearAllTables();
 

после выполнения этой строки данные таблицы будут успешно очищены. но проблема в том, что данные не вставляются, когда я пытаюсь вставить данные таблицы после удаления.
это может быть связано с изменением схемы
есть какое-нибудь решение ??

Комментарии:

1. Вы используете одноэлементный шаблон, поэтому ваша база данных создается только один раз. Попробуйте поместить «экземпляр = null;» в свой метод clearAllTables (). Это приведет к воссозданию базы данных при следующем вызове getInstance ().

2. @gioravered clearAllTable () — это метод предопределения. как я могу поставить «экземпляр = null;»?

3. О, прости. не был с ним знаком. В таком случае я не уверен, в чем проблема..