我无法使用给定的文档从我的Firebase安卓数据库中获取任何值。我尝试过连接到最简单的结构,但是仍然没有运气。下面是我的代码。
DatabaseReference usersReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
usersReference = FirebaseDatabase.getInstance().getReference("users");
...
}
protected void onStart() {
super.onStart();
System.out.println("User Reference: "+usersReference.toString());
usersReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String value = dataSnapshot.child("name").getValue(String.class);
mongo.setText(value);
}
@Override
public void onCancelled(DatabaseError error) {
}
});
}
这是我的数据库在Firebase中的样子
由于某种原因,无论我尝试什么,我一无所获。我尝试打印用户引用,以确保要去正确的位置,尽管单击链接时该链接是对数据库的正确引用,但此屏幕仍然存在:
不确定是否相关。谢谢
答案 0 :(得分:1)
在您描述的其余行为中,您的代码似乎在寻找与屏幕快照所示不同的数据库。建议您为项目重新下载google-services.json
,然后再次将其添加到项目中。
答案 1 :(得分:0)
发生这种情况时,最好使用调试器来了解发生了什么。您使用的是Android Studio吗?
在以下行上放置一个断点:
String value = dataSnapshot.child("name").getValue(String.class);
然后,当程序执行在此处停止时,单击“评估表达式”按钮。 在该窗口内,您可以尝试使用dataSnapshot。我建议您在那里尝试使用dataSnapshot.getChildren()并查看其显示内容。