我的firebase格式是
-artpics
|
|-Luyaosskdkdpdsaaas //generated key
| |
| |-pic_url:"https://firebasestorage.googleapis.com/fhgfhghg/dfhu"
| |-islike: true
|
|-Luasdasdkdkdpdsaaas
| |
| |-pic_url:"https://firebasestorage.googleapis.com/fhgasfhghg/dfhasu"
| |-islike: false
如何编写artpics的模型类,以便我可以获得每个键pic_url(string)和islike(boolean)
答案 0 :(得分:1)
对于每个生成的密钥,您将获得一组数据pic_url
和islike
。
因此,创建一个模型类来存储与生成的密钥对应的数组数据。
模型类如下
public class Deal implements Serializable {
@SerializedName("pic_url")
private String pic_url;
@SerializedName("islike")
private Boolean islike;
}
也创建构造函数,setter和getter。
答案 1 :(得分:1)
这是您的模型类的外观:
public class ModelClass {
String picUrl;
Boolean isLike;
ModelClass() {}
public ModelClass(String picUrl, Boolean isLike) {
this.picUrl = picUrl;
this.isLike = isLike;
}
public String getPicUrl() {
return picUrl;
}
public Boolean getIsLike() {
return isLike;
}
}
要使用此模型类添加数据,请使用以下代码:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference yourRef = rootRef.child("artpics").push();
ModelClass modelClass = new ModelClass("yourUrl", true);
yourRef.setValue(modelClass);
要从Firebase数据库获取数据,请使用以下代码:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference artpicsRef = rootRef.child("artpics");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String picUrl = ds.child("address").getValue(String.class);
Boolean isLike = ds.child("isLike").getValue(picUrl.class);
Log.d("TAG", picUrl + " / " + isLike);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
artpicsRef.addListenerForSingleValueEvent(eventListener);