【发布时间】:2019-01-26 15:30:20
【问题描述】:
我有一个问题。我从这里编辑了我的房间实体:
@Entity(tableName = "users")
public class User {
public User(String username, String email, String password){
this.username = username;
this.email = email;
this.password = password;
}
public User() {}
@PrimaryKey
@ColumnInfo(name = "Username")
private String username;
@ColumnInfo(name = "Email")
private String email;
@ColumnInfo(name = "Password")
private String password;
//getters setters
到这个表格:
@Entity(tableName = "users")
public class User {
public User(String username, String email, String password){
this.username = username;
this.email = email;
this.password = password;
}
public User() {}
//changes here, move userId to int instead of username
@NonNull
@PrimaryKey(autoGenerate = true)
private int id;
@NonNull
@ColumnInfo(name = "Username")
private String username;
@ColumnInfo(name = "Email")
private String email;
@ColumnInfo(name = "Password")
private String password;
//getters setters.
这就是我的RoomDatabase 班级的样子:
@Database(entities = {User.class}, version = 1)
public abstract class ApplicationDatabase extends RoomDatabase {
public abstract UserDao userDao();
}
我的问题是,当我编辑实体时,我的 android 设备中的数据库是否发生了变化?如果我的数据库中有数据怎么办?如果我需要先在我的设备上删除数据库?我的用户构造函数呢,它现在可以工作了吗?
感谢您的建议
【问题讨论】:
标签: java android android-room android-database android-jetpack