gpt4 book ai didi

java - Android 中 Firebase 的最短查询?

转载 作者:行者123 更新时间:2023-12-02 02:19:10 24 4
gpt4 key购买 nike

我需要检查对话子项是否存在。

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference().child("users").child(senderId);
rootRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
if (snapshot.hasChild("conversations")) {
if (snapshot.child("conversations").hasChild(receiverId)) {
ConversationLocationModel conversationModel = snapshot.child("conversations").child(receiverId).getValue(ConversationLocationModel.class);
roomId = conversationModel.getLocation();
getAllMessage();
} else {
addinLocation();
}
} else {
addinLocation();
}
}

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

目前我正在使用上面的代码来检查 child 是否存在,我不想每次都检查,所以如果有任何 child 存在,怎么可能有任何查询来检查 child 是否存在。

最佳答案

如果你想检查是否有子项存在,那么你可以这样做:

 DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference().child("users").child(senderId).child("conversations");
rootRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
if (snapshot.exists()){

//checks if this snapshots exists
}else{

}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});

您可以根据您的数据库进行更改。但上面的代码将检查 child("users").child(senderId).child("conversations") 是否存在对话,然后它将进入其中并查看其所有子项。

关于java - Android 中 Firebase 的最短查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48767027/

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