我正在尝试使用Firebase Android Api查找是否存在Firebase密钥。以下是代码段:
Firebase ref = new Firebase("https://[MYFB].firebaseio.com/");
ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot.exists()){
dataSnapshot.getKey();
}
}
//...
@Override
public void onCancelled(FirebaseError err) {
}
});
这种方法的问题在于,如果不诉诸异步回调' ChildEventListener()',我就无法获得' DataSnapshot '。由于调用是异步的,我的代码不知道密钥是否存在或 onChildAdded()尚未消耗。
在搜索解决方案时,我发现JS Api中的方法' .once()'可以解决问题,但Android Api中没有“同步”等效。
我错过了一些明显的东西吗?