เพิ่ม @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
ใส่null หรือ zero สำหรับ idในขณะที่สร้างวัตถุ (วัตถุกรณีผู้ใช้ของฉัน)
ถ้าชนิดของเขตข้อมูลมีความยาวหรือ int (หรือ TypeConverter จะแปลงเป็นแบบยาวหรือ int) วิธีการแทรกจะถือว่า 0 เป็นค่าที่ไม่ได้ตั้งค่าขณะที่แทรกรายการ
ถ้าชนิดของเขตข้อมูลนั้นเป็นจำนวนเต็มหรือยาว (วัตถุ) (หรือประเภทของตัวแปลงจะแปลงเป็นจำนวนเต็มหรือยาว) วิธีการแทรกจะถือว่าเป็นค่าที่ไม่ได้ตั้งค่าขณะที่แทรกรายการ
0.toDouble()
ว่าคุณสามารถใช้0.0
มันเป็น Double ได้เลย