【发布时间】:2019-02-02 20:03:48
【问题描述】:
我一直在尝试使用 Room 从 SQLite 数据库中读取数据,即使在我使用了 Android Studio 的自动生成的 getter 和字段的设置器。
我也得到了错误:错误:实体和 Pojos 必须有一个可用的公共构造函数。
这是我的代码:
package mergerobotics.memo.backend.Room;
import android.arch.persistence.room.ColumnInfo;
import android.arch.persistence.room.Entity;
import android.arch.persistence.room.PrimaryKey;
import android.support.annotation.NonNull;
import android.arch.persistence.room.Database;
@Entity(tableName = "competitions")
public class CompetitionsEntity {
@NonNull
@PrimaryKey
private String mId;
@ColumnInfo(name = "competition")
private String mCompName;
@ColumnInfo(name = "year")
private String mCompYear;
public CompetitionsEntity(String Id, String CompName, String CompYear){
this.mCompName = CompName;
this.mCompYear = CompYear;
this.mId = Id;
}
@NonNull
public String getmId() {
return mId;
}
public void setmId(@NonNull String mId) {
this.mId = mId;
}
public String getmCompName() {
return mCompName;
}
public void setmCompName(String mCompName) {
this.mCompName = mCompName;
}
public String getmCompYear() {
return mCompYear;
}
public void setmCompYear(String mCompYear) {
this.mCompYear = mCompYear;
}
}
【问题讨论】:
-
你的空构造函数在哪里?
-
这里是构造函数
public CompetitionsEntity(String Id, String CompName, String CompYear)
标签: android android-room setter getter