我是使用房间持久性的新手,每当我尝试运行我的代码时都会出现此错误。编辑时没有显示错误,但我在 gradle 上遇到构建错误。我不得不复制粘贴代码,但似乎没有任何效果,这让我很失望。错误如下
error: An entity must have at least 1 field annotated with @PrimaryKey
Run Code Online (Sandbox Code Playgroud)
我该如何解决?我的代码如下;
package com.revosleap.dummy.DatabaseMov;
import android.arch.persistence.room.ColumnInfo;
import android.arch.persistence.room.Entity;
import android.arch.persistence.room.Ignore;
import android.arch.persistence.room.PrimaryKey;
@Entity
public class TodoListItem {
@Ignore
@PrimaryKey(autoGenerate = true)
private int id;
@ColumnInfo(name = "time")
private String time;
@ColumnInfo(name="title")
private String title;
public TodoListItem(){
}
public TodoListItem(String time, String title) {
this.time = time;
this.title = title;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
Run Code Online (Sandbox Code Playgroud)
您不应该将主键设为私有或静态
private int id; 将此行更改为
@PrimaryKey
public int id;
Run Code Online (Sandbox Code Playgroud)
更多细节房间实体
| 归档时间: |
|
| 查看次数: |
3591 次 |
| 最近记录: |