提问者:小点点

如何使用地图将数据插入我的Firebase数据库?


首先,我以这种方式保存数据

Save.setOnClickListener(new View.OnClickListener() {
    @RequiresApi(api = Build.VERSION_CODES.GINGERBREAD)
    @Override
    public void onClick(View v) {

        String refernce = TextRef.getEditText().getText().toString();
        String nompdv = textNomPdv.getEditText().getText().toString();
        String etat = textEtatCommande.getEditText().getText().toString();
        String datecommande = TextDateCommande.getEditText().getText().toString();
        String produitcommande = textProduit.getEditText().getText().toString();
        String qntcommande = editTextProduitQnt.getEditText().getText().toString();


        DatabaseReference newPost = reference.child(refernce);
        newPost.child("refernce").setValue(refernce);
        newPost.child("nompdv").setValue(nompdv);
        newPost.child("etat").setValue(etat);
        newPost.child("datecommande").setValue(datecommande);
        newPost.child("user_id").setValue(uid);
    
        DatabaseReference newOrder = reference.child(refernce).child("produit");
        newOrder.child(produitcommande).setValue(qntcommande);
    }
});

这是我的数据库结构

我想仅使用map来保存“produit”(红色数据):“produit指挥”和“qnt指挥”:


共1个答案

匿名用户

如果您只想更新produit子级中的值,可以通过以下方式完成:

Map<String, Object> values = new HashMap<>();
values.put("D3", "51");
values.put("D5L", "41");

DatabaseReference produitRef = reference.child(refernce).child("produit");
produitRef.setValue(values);

如果您想更新produit的某些属性,但不修改其他属性,您可以使用:

Map<String, Object> values = new HashMap<>();
values.put("D3", "51");
values.put("D6", "new value");

DatabaseReference produitRef = reference.child(refernce).child("produit");
produitRef.updateChildren(values);

这将更新D3,将添加一个新的D6属性,并保持D5L不变。