首先,我以这种方式保存数据
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指挥”:
如果您只想更新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
不变。