Firebase 实时数据库未连接
Posted
技术标签:
【中文标题】Firebase 实时数据库未连接【英文标题】:Firebase realtime database is not connecting 【发布时间】:2021-07-28 02:02:57 【问题描述】:我正在尝试使用 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
【问题讨论】:
你能澄清“它不工作”吗?你的onDataChange
或onCancelled
会被调用吗?
在onCancelled方法中,使用日志或者Toast来显示错误
是的,但它没有连接。
您所说的“未连接”是什么意思? onDataChange 或 onCancelled 会触发吗?
【参考方案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");
);
【讨论】:
现在它甚至没有进入事件监听器。【参考方案2】:通过重新创建数据库并再次连接到应用程序来解决问题。谢谢你的回答。
【讨论】:
以上是关于Firebase 实时数据库未连接的主要内容,如果未能解决你的问题,请参考以下文章
数据未插入 Firebase 实时数据库抛出 Android