要使用迁移预填充Android应用程序中的数据库,需要使用以下步骤:
步骤1:创建一个静态方法,该方法将在应用程序中的类中定义。该方法将返回RoomDatabase.Callback对象。
public static RoomDatabase.Callback getRoomPrepopulateCallback() {
return new RoomDatabase.Callback() {
@Override
public void onCreate(@NonNull SupportSQLiteDatabase db) {
super.onCreate(db);
// 在数据库创建时插入预先填充的数据
// 例如,如果您有一个名为“user”的表
db.execSQL("INSERT INTO user (name, age) VALUES ('John', 30)");
db.execSQL("INSERT INTO user (name, age) VALUES ('Mark', 25)");
}
};
}
步骤2:在RoomDatabase.Builder的回调方法中传递该方法返回的RoomDatabase.Callback对象作为参数。
Room.databaseBuilder(context, AppDatabase.class, "database-name")
.addCallback(getRoomPrepopulateCallback())
.build();
通过遵循上述步骤,预填充Android应用程序中的Room数据库。在调用数据库创建时,将执行指定的插入操作,以便在创建后有可用的数据。