【发布时间】:2021-05-28 10:28:05
【问题描述】:
我检查了高低,但我看到的只是人们试图让所有孩子都进入列表和东西。我只想从数据库中获取一个孩子。
{
"Haydn" : {
"Users" : {
"email" : "user@gmail.com",
"name" : "kofi"
}
}
}
我想从结构中获取名称。
我的代码:
rootNode = FirebaseDatabase.getInstance();
reference = rootNode.getReference().child("Users");
reference.addListenerForSingleValueEvent(
new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if(snapshot.exists()){
String displayName = (String) snapshot.child("Haydn").child("Users").child("name").getValue();
loggedInUserTextView.setText(displayName);
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
}
【问题讨论】:
-
1) 您能否在
/Users向我们展示实际的JSON,而不是显示示意图(作为文本,请不要截图)?您可以通过单击Firebase Database console 上溢出菜单 (⠇) 中的“导出 JSON”链接来获取此信息。 2)然后你能指出你想在loggedInUserTextView中显示这个JSON的什么值吗? -
用东西更新了它
-
1) 你的问题中的
"Haydn"是什么意思,在 JSON 中代表什么? 2) 我强烈建议导出数据,而不是输入数据,因为AppName通常也不属于导出的 JSON 的一部分(尽管它是数据库 URL 的一部分)。如果 JSON 中有敏感数据,则可以更改它。但是不要改变结构,因为没有看到实际的 JSON 就无法帮助您。 -
@Ashish 对于 Firebase 实时数据库,最好将结构包含为文本而不是图片。这样,如果我们需要在答案中使用它,它可以被复制和粘贴(所以我们不必重新输入 while 内容)。只要按照 Frank 在评论中提到的那样导出和粘贴数据,我们就可以开始了。
-
@Rabbid76 我现在转贴
标签: java android database firebase firebase-realtime-database