我们可以使用 Room 在单个 android 应用程序中拥有多个数据库吗?我想为每个用户创建一个新数据库。如果 user1 登录,我必须为该用户创建一个数据库,如 UserDB1,如果添加了任何新帐户,我必须为该用户创建另一个数据库,如 UserDb2。如果该帐户之间发生帐户切换,我应该访问用户特定的数据库。我该如何实现?
最佳答案
我像下面那样做了,
private static AppDatabase buildDatabase(final Context appContext, int userId) {
return Room.databaseBuilder(appContext, AppDatabase.class, DATABASE_NAME + "_" + userId)
.addCallback(new Callback() {
@Override
public void onCreate(@NonNull SupportSQLiteDatabase db) {
super.onCreate(db);
}
})
.build();
}
我完全理解你的要求。有3种方式,
(假设只需要一个表 userTable,但实际上我们还有更多。)
关于android - 单个 android 应用程序中具有多用户数据库的房间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53416907/