0
我在我的android项目中使用以下类将数据上传到其firebase后端。在firebase中插入android POJO导致json值列表
public class IATFPojo {
public Double ecc, ecc2;
public boolean prenhes, ressinc;
public Long diasp, cl;
public String localiza, datacob;
public IATFPojo() {}
public IATFPojo(double ecc, boolean prenhes, boolean ressinc, long diasp, String localiza, String datacob, double ecc2, long cl){
this.ecc = ecc;
this.ecc2 = ecc2;
this.prenhes = prenhes;
this.ressinc = ressinc;
this.diasp = diasp;
this.cl = cl;
this.localiza = localiza;
this.datacob = datacob;
}
public Double getEcc() {
return ecc;
}
public Double getEcc2() {
return ecc2;
}
public boolean isPrenhes() {
return prenhes;
}
public boolean isRessinc() {
return ressinc;
}
public Long getDiasp() {
return diasp;
}
public Long getCl() {
return cl;
}
public String getLocaliza() {
return localiza;
}
public String getDatacob() {
return datacob;
}
}
而且我将它在火力点是这样的:
DatabaseReference myRef = FirebaseDatabase.getInstance().getReference();
IATFPojo pojo = new IATFPojo(
//ecc, prenhes, ressinc, diasp, localiza, datacob, ecc2, cl
(map.get("IATF6")).length() > 0 ? Double.parseDouble(map.get("IATF6")) : 0,
Integer.parseInt(map.get("IATF20")) > 1,
Integer.parseInt(map.get("IATF5")) > 1,
Long.parseLong(map.get("IATF30")),
map.get("IATF23"),
map.get("IATF1"),
(map.get("IATF22")).length() > 0 ? Double.parseDouble(map.get("IATF22")) : 0,
Long.parseLong(map.get("IATF21"))
);
myRef.child(uid +"/MULTIPARA").child(map.get("IATF1")+"_"+map.get("SUI")).setValue(pojo);
,它创建一个用户ID(UID),并与参考(经产女)另一个节点,那么孩子的节点,其包含使用格式date_animal id的数据。 的问题是,该数据被存储这样的火力点:
而且我的理解中的数据应该有IATFPojo键这样的:
2016-11-11_ A 335
ecc: 2.75
ecc2: 3
prenhes: true
ressinc : false
diasp: 52
cl: -1
localiza: "16 IATF BV 5"
datacob: "2016-11-11"
我缺少的东西在类的配置中,还是在Firebase中?
您应该从'map.get(“SUI”)'中删除空格,顺便说一下 –
谢谢,但还没有。我开始使用NoSQL数据库,并且空格是动物id布局的一部分。 –
我不确定我看到有什么区别'2016-11-11_ A 335'和'2016-11-11_ A335'会一直持续查询,但好吧...无论如何,您可以使用Firebase批注标记字段,但它应该与你有的代码一起工作。你使用proguard来混淆你的对象吗? –