gpt4 book ai didi

java - 在android中执行方法之前获取计数

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:36 24 4
gpt4 key购买 nike

Query mSeenRef = db.child("Messages").child(MessageSenderId).child(MessageRecieverId).orderByChild("From").equalTo(MessageRecieverId);
mSeenRef.addListenerForSingleValueEvent(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot){
if(dataSnapshot.exists()) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
String keyId = ds.getKey();



DatabaseReference mSendersRef = db.child("Messages").child(MessageSenderId).child(MessageRecieverId).child(keyId);
DatabaseReference mRecieversRef = db.child("Messages").child(MessageRecieverId).child(MessageSenderId).child(keyId);
Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put("Seen", true);
mSendersRef.updateChildren(childUpdates);
mRecieversRef.updateChildren(childUpdates);

}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});

此方法将我的 firebase 数据库中名为 saw 的特定子项变为 true...我想在变为 true 之前获取尚未为 true 的子项数量的计数...我怎样才能实现这一目标...我想在将其变为 true 之前执行一个方法,因此我需要计数

数据库

enter image description here

最佳答案

如果您想知道您的 Seen 属性 true 的值为多少项,请使用以下代码行:

Query mSeenRef = db.child("Messages").child(MessageSenderId).child(MessageRecieverId).orderByChild("Seen").equalTo(true);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
int count = 0;
for(DataSnapshot ds : dataSnapshot.getChildren()) {
count = count + 1;
}
Log.d(TAG, String.valueOf(count)); //Will print the number of seen messages
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
mSeenRef.addListenerForSingleValueEvent(valueEventListener);

如您所见,您只需要计算出现的次数即可。

另一种方法是使用 dataSnapshot.getChildrenCount() ,它将返回一个 long 类型的值,该值实际上表示 dataSnapshot 对象中存在的子级数。

关于java - 在android中执行方法之前获取计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53395053/

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