我正在尝试使用 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
答案 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)
问题已通过重新创建数据库并再次连接到应用程序解决。谢谢你的回答。