Добавить @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(){
}
public User(String name, String phone) {
this.name = name;
this.phone = phone;
}
public User(int id, String name, String phone) {
this.id = id;
this.name = name;
this.phone = phone;
}
}
при хранении данных
db.userDao().InsertAll(new User(sName,sPhone));
db.userDao().InsertAll(new User(0,sName,sPhone));
Тип 1
Если вы не передаете значение для первичного ключа, по умолчанию оно равно 0 или null.
тип-2
Поместите ноль или ноль для идентификатора при создании объекта (мой пользовательский объект)
Если тип поля long или int (или его TypeConverter преобразует его в long или int), методы Insert обрабатывают 0 как не установленное при вставке элемента.
Если тип поля - Integer или Long (Object) (или его TypeConverter преобразует его в Integer или Long), методы Insert обрабатывают null как неустановленное при вставке элемента.
0.toDouble()
чтобы использовать0.0
, объявите это как двойное