Firebase 实时数据库未连接

时间:2021-05-05 18:04:21

标签: android database firebase firebase-realtime-database

我正在尝试使用 firebase 实时数据库。我已将规则设置为 true,并在我的项目中添加了所有必需的依赖项以及 Internet 权限。我的手机可以很好地连接到 wifi。

当我尝试使用写入数据时,它不起作用。所以我按照文档检查了状态,它显示 dB 未连接到我的应用程序。

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(TAG, "connected");
        } else {
            Log.d(TAG, "not connected");
        }
    }

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

我做错了什么吗?

感谢帮助。

PD

2 个答案:

答案 0 :(得分:1)

您应该添加查询

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

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

答案 1 :(得分:0)

问题已通过重新创建数据库并再次连接到应用程序解决。谢谢你的回答。