检查一个节点中每个孩子的存在的最佳方法是什么? [英] What is the best way to check the existence of every child in one node?
本文介绍了检查一个节点中每个孩子的存在的最佳方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
FirebaseDatabase.getInstance().getReference("Block").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snap : dataSnapshot.getChildren()) {
if(snap.getKey().equals(myUID)){
FirebaseDatabase.getInstance().getReference("Block").child(myUID).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snap : dataSnapshot.getChildren()) {
if(snap.getKey().equals(list.get(position).getUid())){
FirebaseDatabase.getInstance().getReference("Block").child(myUID).child(list.get(position).getUid()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snap : dataSnapshot.getChildren()) {
if(snap.getValue().equals("1")){
call_method();
}else{
//code...
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
} else {
call_method();
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
} else {
call_method();
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
此代码可以很好地工作,但是它很长,所以我要寻求最佳的编写方式吗?
This code works well, but it is very long so I am asking for the best way to write it ?
我想首先检查阻止节点的子节点是否等于我的UID ,如果是,那么我要检查我的UID 子项等于 UID (如果为true),那么我想获得的块值在此示例中为 0
I want to check firstly if Block node has child equals to my UID if it is true then I want to check if my UID has child equals to specific UID if it is true then I want to get the value of block which is 0 in this example
我该怎么做?非常感谢.
How can I do that ? Thank you very much.
推荐答案
只需遍历使用child
指定的路径.如果路径不存在,将不会获得任何数据.
Just traverse to the path specified using child
. You will get no data if the path doesn't exist.
FirebaseDatabase.getInstance().getReference("Block")
.child("MyUUID")
.child("specificUUID")
.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()) {
// ... Do something
} else {
call_method();
}
// ... Other code
}
这篇关于检查一个节点中每个孩子的存在的最佳方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文