Android:Firebase ChildEventListener() 不工作
Android: Firebase ChildEventListener() not working
我正在使用 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
。我在MainActivity
的onCreate()
中调用了checkUsers()
,但需要在onAuthenticated()
中调用,因为在方法checkUsers()
尝试设置监听器后用户被认证.
我收到一个关于访问数据库失败的日志:
W/SyncTree: Listen at / failed: FirebaseError: Permission denied
但没看到它,因为我正在使用 logcat 搜索关注特定 TAG。
我正在使用 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
。我在MainActivity
的onCreate()
中调用了checkUsers()
,但需要在onAuthenticated()
中调用,因为在方法checkUsers()
尝试设置监听器后用户被认证.
我收到一个关于访问数据库失败的日志:
W/SyncTree: Listen at / failed: FirebaseError: Permission denied
但没看到它,因为我正在使用 logcat 搜索关注特定 TAG。