我正在使用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结构:
我做错了什么?
答案 0 :(得分:0)
我明白了。有一个.(DOT)
。我在concurrency problem
的{{1}}中调用checkUsers()
,但需要在onCreate()
中调用,因为在方法MainActivity
尝试设置侦听器后,用户已经过身份验证。
我得到了一个关于访问数据库失败的日志:
onAuthenticated()
但没有看到它,因为我正在使用logcat搜索跟踪特定的TAG。