追加 @PrimaryKey(autoGenerate = true)
@Entity
public class User {
@PrimaryKey(autoGenerate = true)
private int id;
@ColumnInfo(name = "full_name")
private String name;
@ColumnInfo(name = "phone")
private String phone;
public User(){
}
//type-1
public User(String name, String phone) {
this.name = name;
this.phone = phone;
}
//type-2
public User(int id, String name, String phone) {
this.id = id;
this.name = name;
this.phone = phone;
}
}
データの保存中
//type-1
db.userDao().InsertAll(new User(sName,sPhone));
//type-2
db.userDao().InsertAll(new User(0,sName,sPhone));
タイプ1
主キーの値を渡さない場合、デフォルトでは0またはnullになります。
タイプ2
置くIDのヌル又はゼロにオブジェクトを作成しながら、(私の場合のユーザオブジェクト)
フィールドタイプがlongまたはint(またはそのTypeConverterがlongまたはintに変換する)の場合、Insertメソッドはアイテムの挿入時に0を未設定として扱います。
フィールドのタイプがIntegerまたはLong(オブジェクト)の場合(またはそのTypeConverterがフィールドをIntegerまたはLongに変換する場合)、Insertメソッドは、アイテムの挿入時にnullを未設定として扱います。
0.toDouble()
を使用する代わりに、0.0
それをdoubleとして宣言することができます