繁体   English   中英

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 我叫checkUsers()onCreate()中的MainActivity但它需要在被称为onAuthenticated()因为用户在该方法后,认证checkUsers()试图设置监听器。

我得到了一个关于访问数据库失败的日志:

W/SyncTree: Listen at / failed: FirebaseError: Permission denied

但没有看到它,因为我正在使用logcat搜索跟踪特定的TAG。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM