数据库结构
我对 android 和 Firebase 还很陌生,在尝试从节点添加值时遇到了一些问题,问题是,我想从“价格”节点添加所有值,但我有问题,每个价格节点都有不同的父节点,我不知道如何使用不同的父节点添加所有值
我已经尝试过:
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
databaseReference = firebaseDatabase.getReference().child("mycart").child(ID).child(uid).child("quantity");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot dSnapshot : dataSnapshot.getChildren()) {
///...code
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
usersRef.addListenerForSingleValueEvent(eventListener);
}
最佳答案
要汇总所有键的所有价格,您可以执行以下操作:
databaseReference = firebaseDatabase.getReference().child("mycart").child(ID);
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
float price = 0;
for(Datasnapshot snapshot: datasnapshot.getChildren()){
price += snapshot.child("price").getValue(Float.class);
}
Log.d("Total: ", price);
}
@Override
public void onCancelled(DatabaseError databaseError) {
System.out.println("The read failed: " + databaseError.getCode());
}
});
关于java - 如何在 firebase 中添加具有不同父级的 "price"节点的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57363514/