数据库更改后,Android Firebase值侦听器不再有效

时间:2016-08-29 21:15:04

标签: android firebase firebase-realtime-database

在一个Firebase项目上创建了一个应用程序,现在它已经完成了我已将其更改为另一个具有实际数据库的Firebase项目(结构相同,第一个项目用于测试,第二个项目是我们正在使用的实际数据库)。通过在Firebase控制台中创建Android版本,然后添加新的google-services.json文件来更改它。现在,一些完美运行的代码现在拒绝做任何事情,我不明白为什么。我所做的所有更改代码都是更改Firebase存储引用,这不会影响这一特定代码。数据库结构相同,两个数据库都在该特定路径上有数据。这是受影响的代码。此代码在旧数据库上完全正常运行,但在新数据库中,onDataChange方法不会被调用,onCancelled也不会被调用。我错过了什么愚蠢会导致这不起作用?我已经能够访问新数据库上的函数,并且已经从应用程序在新数据库上成功注册了一个帐户,所以很困惑为什么这不起作用。

public void checkForOtherAgent() {
    agentcode = branchNo + postcode;
    count = 0;
    codeCheckListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if(dataSnapshot.exists()) {
                Log.d(TAG, "onDataChange called, count = " + count);
                count++;
                agentcode = branchNo + postcode + count;
                mDatabase.child("agent_codes").child(agentcode).addListenerForSingleValueEvent(codeCheckListener);
            } else {
                registerAccount();
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    };
    mDatabase.child("agent_codes").child(agentcode).addListenerForSingleValueEvent(codeCheckListener);
}

0 个答案:

没有答案