thêm vào @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;
}
}
trong khi lưu trữ dữ liệu
//type-1
db.userDao().InsertAll(new User(sName,sPhone));
//type-2
db.userDao().InsertAll(new User(0,sName,sPhone));
loại 1
Nếu bạn không truyền giá trị cho khóa chính, theo mặc định, nó sẽ là 0 hoặc null.
loại 2
Đặt null hoặc 0 cho id trong khi tạo đối tượng (đối tượng người dùng trường hợp của tôi)
Nếu loại trường dài hoặc int (hoặc TypeConverter của nó chuyển đổi thành dài hoặc int), phương thức Chèn xử lý 0 là không được đặt trong khi chèn mục.
Nếu loại của trường là Integer hoặc Long (Object) (hoặc TypeConverter của nó chuyển đổi nó thành Integer hoặc Long), các phương thức Chèn xử lý null là không được đặt trong khi chèn mục.
0.toDouble()
bạn có thể sử dụng,0.0
hãy khai báo là gấp đôi