我目前有一个Note
课程。
我已经设置了所有房间注释,它似乎找到了我私有财产的吸气剂。
这是我的班级:
@Entity(tableName = "notes")
public final class Note {
@PrimaryKey
@ColumnInfo(name = "id")
@NonNull
private final String mId;
@ColumnInfo(name = "title")
@Nullable
private final String mTitle;
@ColumnInfo(name = "desc")
@Nullable
private final String mDesc;
@Ignore
public Note(@Nullable String title, @Nullable String desc) {
this(UUID.randomUUID().toString(), title, desc);
}
public Note(@NonNull String id, @Nullable String title, @Nullable String desc) {
mId = id;
mTitle = title;
mDesc = desc;
}
@NonNull
public String getmId() {
return mId;
}
@Nullable
public String getmTitle() {
return mTitle;
}
@Nullable
public String getmDesc() {
return mDesc;
}
}
当我构建我的项目时,一切都在那里。我在Messages Gradle Build
:
Error:(18, 26) error: Cannot find getter for field.
Error:(22, 26) error: Cannot find getter for field.
Error:(26, 26) error: Cannot find getter for field.
链接回:
private final String mId;
private final String mTitle;
private final String mDesc;
但我确实有吸气剂,他们是公开的。
我目前正在使用:
implementation "android.arch.persistence.room:runtime:1.1.0-alpha3"
annotationProcessor "android.arch.persistence.room:compiler:1.1.0-alpha3"
Room
有什么想法吗?
答案 0 :(得分:0)
Room正在寻找例如mId属性的getter方法,按惯例,getMd不是getmId。
我建议将字段重命名为id,title,desc和mehtods到getId()getTitle()和getDesc()以提高可读性。