【发布时间】:2020-09-23 00:47:49
【问题描述】:
我有一个 firebase 数据库架构,我想在其中解析和反序列化
Program program = dataSnapshot.getValue(Program.class);
程序数据类为:
public class Program
{
@SerializedName("has_live_show")
@Expose
private Boolean has_live_show;
@SerializedName("id")
@Expose
private int id;
@SerializedName("live_url")
@Expose
private String live_url;
@SerializedName("title")
@Expose
private String title;
@SerializedName("sponsers")
@Expose
private Map<Integer, Sponser> sponsers=new HashMap<>();
public Program() {
}
public Program(Boolean has_live_show, int id, String live_url, String title, Map<Integer, Sponser> sponsers) {
super();
this.has_live_show = has_live_show;
this.id = id;
this.live_url = live_url;
this.title = title;
this.sponsers = sponsers;
}
public Boolean getHas_live_show() {
return has_live_show;
}
public void setHas_live_show(Boolean has_live_show) {
this.has_live_show = has_live_show;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getLive_url() {
return live_url;
}
public void setLive_url(String live_url) {
this.live_url = live_url;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Map<Integer, Sponser> getSponsersMap() {
return sponsers;
}
public void setSponsersMap(Map<Integer, Sponser> sponsers) {
this.sponsers = sponsers;
}
@Override
public String toString() {
return "Program{" +
"hasLiveShow='" + has_live_show + '\'' +
", id=" + id +
", liveUrl='" + live_url + '\'' +
", title='" + title + '\'' +
", sponsers=" + sponsers +
'}';
}
}
赞助商数据类是
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Sponsor {
@SerializedName("image")
@Expose
private String image;
@SerializedName("logo")
@Expose
private String logo;
public Sponser() {
}
public Sponser(String image, String logo) {
this.image = image;
this.logo = logo;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getLogo() {
return logo;
}
public void setLogo(String logo) {
this.logo = logo;
}
@Override
public String toString() {
return "Sponser{" +
"image='" + image + '\'' +
", logo='" + logo + '\'' +
'}';
}
}
但每次我使用解析数据快照时
Program program = dataSnapshot.getValue(Program.class);
program.getSponsersMap() 始终等于 null
]
【问题讨论】:
标签: android firebase firebase-realtime-database