有人可以帮我解决我遇到的firebase问题吗,我想在另一个孩子里面加一个孩子,我知道这很简单,但是因为我是firebase的新手,所以我会非常感谢有关这方面的任何帮助,请让我知道,如果这个问题需要改进格式化,那么我可以更好地处理堆栈溢出。
从此功能添加项目
public void addItem(Item model) {
Item item = new Item();
item.setItem(model.getItem());
item.setPonum(model.getPonum());
item.setQty(model.getQty());
item.setSupplier(model.getSupplier());
item.setContact(model.getContact());
item.setTransporter(model.getTransporter());
item.setLrnum(model.getLrnum());
item.setRemarks(model.getRemarks());
String key = mDatabase.child("Items").push().getKey();
Map<String, Object> postValues = item.toMap();
Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put(key, postValues);
mDatabase.updateChildren(childUpdates);
}
答案 0 :(得分:1)
获取您必须推送新数据的节点的参考。
Firebase newRef = ref.child("Key_of_root_node").child("remarks_parent_node").child("remarks").push();
newRef.setValue("Hi I am Comment");
Push将为您生成密钥,因此无需处理生成Comment1,Comment2等密钥。
答案 1 :(得分:0)
我认为您的Item
对象应如下所示:
public class Item {
private String contact;
private String item;
private String lrnum;
private String ponum;
private String qty;
private HashMap<String, String> remarks;
private String supplier;
private String transporter;
// ... you configure setting method by setter or constructor, your choice
public String getContact() {
return contact;
}
public String getItem() {
return item;
}
public String getLrnum() {
return lrnum;
}
public String getPonum() {
return ponum;
}
public String getQty() {
return qty;
}
public HashMap<String, String> getRemarks() {
return remarks;
}
public String getSupplier() {
return supplier;
}
public String getTransporter() {
return transporter;
}
// and maybe add this to easily add one remarks
public void addRemark(String remarkKey, String remark) {
if (remarks == null)
remarks = new HashMap<>();
remarks.put(remarkKey, remark);
}
}
然后,您只需要使用以下代码行将其插入Firebase数据库:
public void addItem(Item model) {
mDatabase.child("Items").push().setValue(model);
}