додати @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 або недійсне.
тип-2
Поставте null або zero для ідентифікатора під час створення об’єкта (мій об'єкт user user)
Якщо тип поля довгий або int (або його TypeConverter перетворює його в довгий або int), Insert методи вважають 0 не встановленим під час вставки елемента.
Якщо тип поля "Цілий" або "довгий" (об'єкт) (або його TypeConverter перетворює його в цілий чи довгий), при вставці елемента методами "Вставлення" трактуються як "не встановлені".
0.toDouble()
ви можете використовувати0.0
, оголосити це як подвійне