安卓会议室:一个数据库,多个表
2022-09-03 17:21:46
我的应用程序有两个单独的表,一个称为用户,另一个称为密码。
用户:
@Entity(tableName = "users")
public class Users {
// some setters and getters here
}
密码:
@Entity(tableName = "passwords")
public class Passwords {
// some setters and getters here
}
这就是我访问数据库的方式:
usersdb = Room.databaseBuilder(this, Users.class,"mymaindb")
.allowMainThreadQueries()
.build();
// Then later in some other activity when I need to use passwords table
passwords = Room.databaseBuilder(this, passwords.class,"mymaindb")
.allowMainThreadQueries()
.build();
我遇到的问题是,在全新安装后,当我访问密码时,我无法访问用户,反之亦然。
我收到以下错误:
由以下原因导致:java.lang.IllegalStateException: Room 无法验证数据完整性。看起来你已更改架构,但忘记更新版本号。您可以通过增加版本号来解决此问题。
但是当我尝试使用两个单独的数据库(如passwords_db和users_db而不是mymaindb)时,它就可以完全正常工作。
那么有没有办法在一个数据库下有多个表呢?如果是这样,那么我做错了什么?提前致谢!