0
私はBitmapオブジェクトを持つクラスを持っています。そして、私がFirebaseDatabaseにsetValue(MyClass.class)を設定すると、これが可能です。 RealtimeDatabaseはビットマップイメージのプロパティを保存します。私は値を読んだときに問題が発生し、次のエラーが起こった:AndroidのFirebaseDatabaseからBitmapを取得する際のエラー
com.google.firebase.database.DatabaseException: Class android.graphics.Bitmap is missing a constructor with no arguments
が、私は、ビットマップ画像のコンストラクタをオーバーライドすることはできません。このような状況を回避するにはどうすればよいですか?
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Iterator<DataSnapshot> iterator = dataSnapshot.getChildren().iterator();
log("Init ValueEventListener onDataChange()");
while(iterator.hasNext()) {
DataSnapshot data = iterator.next();
log("Data : " + data.getKey());
Treino t = data.getValue(Treino.class);
}
}
}
public class Treino implements Serializable{
String nome;
List<Exercicio> listaExercicios;
List<Integer> listaDiasSemana;
String hora; // hh:mm
public Treino(String nome, List<Exercicio> listaExercicios, List<Integer> listaDiasSemana, String hora) {
this.nome = nome;
this.listaExercicios = listaExercicios;
this.listaDiasSemana = listaDiasSemana;
this.hora = hora;
}
public class Exercicio implements Serializable {
String nome, tipo, nomeImagem;
Bitmap imagem;
public Exercicio() {
}
public Exercicio(String nome, Bitmap imagem, String nomeImagem) {
this.nome = nome;
this.imagem = imagem;
this.nomeImagem = nomeImagem;
}
私はゲッタとセッタを省略しました。
はい、動作します。 – Augusto