我正在使用Firebase在我的应用程序中工作,并且尝试使用onChildAdded()回调,但是我认为我做错了事,因为没有响应。
/**
* Constructor
*/
private FirebaseManager(Context context) {
Firebase.setAndroidContext(context);
Firebase.getDefaultConfig().setPersistenceEnabled(true);
mFirebaseRef = new Firebase(FIREBASE_URL);
}
public void checkUsers() {
Firebase checkRef = mFirebaseRef.child("/data/users/");
// Also tried
// Firebase checkRef = mFirebaseRef.child("data").child("users");
checkRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.d(TAG,"New child added");
}
@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(FirebaseError firebaseError) {
}
});
}
在MainActivity的onCreate()中,我对用户进行身份验证,并调用checkUsers()。之后,我手动在数据库中添加一个新用户。但是我没有任何日志。这是json结构:
我究竟做错了什么?
我得到了它。有一个concurrency problem
。我调用了checkUsers()
in onCreate()
,MainActivity
但是需要调用in onAuthenticated()
,因为在该方法checkUsers()
尝试设置侦听器之后,用户已通过身份验证。
我收到有关访问数据库失败的日志:
W/SyncTree: Listen at / failed: FirebaseError: Permission denied
但没有看到它,因为我正在使用logcat Search跟踪特定的TAG。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句