元々、カードビューに情報(文字列)と写真(ドローアブルから)を追加していました。リストから作業し、アダプターなどを使用してリサイクラービュー内のカードに追加しました。次に、Room Persistence Libraryを使用してこの情報を保存するように移行しようとしています。コードにダミー情報を追加する代わりに、ユーザー入力から取得するようにしています。これを実装しようとしているので、画像を保存することを発見しましたRoom DBへの移行は簡単ではありません。文字列は正常に機能しています。カメラから取得した画像を保存する方法が必要です。
タイプImage、Bitmap、URI、Drawablesを使用して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;
}
}
私はもっと簡単に画像を保存できると思っていたと思いますが、上記のタイプのいずれかを使用している場合はそうではなく、このエラーが発生します。
「エラー:このフィールドをデータベースに保存する方法がわかりません。タイプコンバーターを追加することを検討してください。」
あなたは純粋な画像を保存することはできません、画像を保存するための多くのオプションがあります: