如何重新连接Firebase实例,以便可以读写?

时间:2019-05-09 17:43:39

标签: android firebase firebase-realtime-database

使用checkConnectionStatus()文档中提供的诊断Firebase方法,我在日志中看到我的Firebase实例未连接到其服务器。

我的读/写规则都设置为true,并且在调试器中检查DatabaseReference的值,则database URL是正确的。我还尝试使用多个WiFi连接来确保此问题不是由于防火墙设置引起的。

这个特殊的fragment可以完美地起作用,直到这个问题突然出现并且对我来说不知道如何解决!

我对Firebase的应用级别依赖性为:

implementation 'com.google.firebase:firebase-core:16.0.8'
implementation 'com.google.firebase:firebase-database:16.1.0'

Firebase文档中提供的返回false的诊断方法是:

 private void checkConnectionStatus(){
        DatabaseReference connectedRef = FirebaseDatabase.getInstance          ().getReference(".info/connected");
        connectedRef.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot snapshot) {
                boolean connected = snapshot.getValue(Boolean.class);
                if (connected) {
                    Log.d("Status", "connected");
                } else {
                    Log.d("Status", "not connected");
                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError error) {
                Log.w("Uh oh", "Listener was cancelled");
            }
        });
    }

我的读/写规则是:

    {
     "rules": {
    ".read": true,
    ".write": true
     }
  }

我在另一个项目中使用了Firebase,但从未遇到过这个问题,所以我在做错事情时茫然不知所措!

0 个答案:

没有答案