gpt4 book ai didi

java - 在 Firebase 中获取 child 数量

转载 作者:搜寻专家 更新时间:2023-11-01 09:31:58 25 4
gpt4 key购买 nike

请问我如何简单地从 firebase 查询中获取子项计数。例如,假设我对 10 个 child 使用数据库查询,我如何获取该值,因为我尝试使用 onChildChanged 并从快照获取值,但它没有工作得很好。这是因为首先它会得到数字,然后它会再次查询,因为它必须连续同步,但因为在第二次查询时没有实际的子更改,它返回一个值,如果为零,它将替换原来的正确值。 :/

   databaseReference.child("PrinterView").child(uni).child(phone).orderByChild("done").equalTo("No").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Toast.makeText(getActivity(),"Number:"+String.valueOf(dataSnapshot.getChildrenCount()),Toast.LENGTH_LONG).show();

}

@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {

}

@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {

}

@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {

}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});

两个都不行

   databaseReference.child("PrinterView").child(uni).child(phone).orderByChild("done").equalTo("No").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Toast.makeText(getActivity(),"Number:"+String.valueOf(dataSnapshot.getChildrenCount()),Toast.LENGTH_LONG).show();
Vendor_view_Home_fragment.printIndicator.setText(String.valueOf(dataSnapshot.getChildrenCount()));
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});

enter image description here

enter image description here

最佳答案

假设 PrinterView 是您的 Firebase 根目录的直接子项,请使用以下代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference yourRef = rootRef.child("PrinterView").child("Covenant University").child("588");
Query query = yourRef.orderByChild("done").equalTo("No");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
long count = dataSnapshot.getChildrenCount();
Log.d("TAG", String.valueOf(count));
}

@Override
public void onCancelled(DatabaseError databaseError) {}
};
query.addListenerForSingleValueEvent(eventListener);

关于java - 在 Firebase 中获取 child 数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46406255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com