起初,我正在向卡视图中添加信息(字符串)和照片(从drawable中获取)。我已经从列表中将其工作并将其添加到使用适配器等在recycler view中的卡片中。现在,我正在尝试使用Room持久性库保存此信息,而不是在代码中添加虚拟信息,我将从用户输入中获取它。在我尝试实现此操作时,我发现将图像保存到Room DB并不太容易。现在字符串已经可以正常工作,但我需要一种方法来保存从相机中拍摄的图像。
我无法使用Image、Bitmap、URI、Drawable类型将图像存储在Room DB中。
@Entity(tableName = "machines_table")
public class Machines {
@PrimaryKey(autoGenerate = true)
private int id;
private Drawable photoId;
private String name;
private String location;
public Machines(String name, String location, Drawable photoId) {
this.name = name;
this.location = location;
this.photoId = photoId;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public String getLocation() {
return location;
}
public Drawable getPhotoId() {
return photoId;
}
}
我本以为能够更轻松地保存图像,但是使用我上述列表中的任何一种类型时,都会遇到以下错误:
"错误:无法确定如何将此字段保存到数据库中。您可以考虑为其添加类型转换器。"