android - 每次我杀死应用程序时,我的数据库中的数据都会被删除?
问题描述
在我的 android 应用程序中,我使用 Room Database 库将数据存储在数据库中。我可以在单个会话中存储和获取数据。这没有问题。问题是当我关闭应用程序并再次打开时,我没有获取存储在本地数据库中的数据。这些数据被删除。
我在谷歌搜索过,其中一些人说使用 databaseBuilder 创建房间数据数据库实例。但我只使用它。但我收到了这个错误。
这是我的实例初始化。
这是我的 AppDtabase 类;
@Database(entities = {SelectedBuilding.class}, exportSchema =true, version=2)
public abstract class AppDatabase extends RoomDatabase {
private static AppDatabase INSTANCE;
public abstract SelectedBuildingDao myDao();
public static AppDatabase getAppDatabase(Context context){
if (INSTANCE==null){
INSTANCE= Room.databaseBuilder(context.getApplicationContext(),AppDatabase.class,"Selected_buildings")
.addMigrations(MIGRATION_1_2)
.build();
}
return INSTANCE;
}
public static void destroyInstance(){
INSTANCE=null;
}
static final Migration MIGRATION_1_2 = new Migration(1, 2) {
@Override
public void migrate(SupportSQLiteDatabase database) {
database.execSQL("ALTER TABLE selected_building ADD COLUMN Building_Id TEXT");
}
};
}
INSTANCE= Room.databaseBuilder(context.getApplicationContext(),AppDatabase.class,"Selected_area").build();
谁能帮我解决这个问题?提前致谢。
解决方案
推荐阅读
- pentaho - 如何将当前月份设置为 pentaho cde 上简单参数的默认值?
- html - 设置元素的语言属性会导致儿童出现 unicode 字符样式错误
- azure - Azure 流分析作业因“查询编译错误”而失败,但当我单独测试时运行相同的查询
- postgresql - 从 JSON 对象中提取所有键,除非某个键具有值
- flutter - Android 依赖 'androidx.core:core' 的编译(1.0.0)和运行时(1.0.1)类路径有不同的版本
- flutter - ld: 找不到框架 Flutter
- node.js - 默认值 Nodejs
- apache-spark - 如何使用 DseGraphFrame 基于特定遍历导出 Datastax 图
- vue.js - 创建highcharts vue组件
- java - 从另一个 Jar (Maven) 添加属性文件