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來混淆你的對象嗎? –