在Android ORM中如何在SQLite中的表中添加一些初始值我通常在SQLite的onCreate中执行此操作。 但在房间里我怎么能这样做意味着在数据库上创建后添加了一些初始值。 谢谢你的回答。
答案 0 :(得分:1)
您可以使用最新版本的Room库中提供的RoomDatabase.Callback。
您需要实现RoomDatabase.Callback的onCreate和onOpen方法,并将其添加到RoomDatabase.Builder,如下所示。
<强> RoomDatabase.Callback 强>
RoomDatabase.Callback rdc = new RoomDatabase.Callback(){
public void onCreate (SupportSQLiteDatabase db){
// do something after database has been created
}
public void onOpen (SupportSQLiteDatabase db){
//do something every time database is open
}
};
将回调添加到会议室数据库构建器
yourDatabase = Room.databaseBuilder(context,
YourDatabase.class, "your db").addCallback(rdc).build();
参考:https://medium.com/@srinuraop/database-create-and-open-callbacks-in-room-7ca98c3286ab