如何从Firebase数据库获取一个孩子

科菲

我已经检查了高低,但我看到的只是人们试图让所有孩子都进入列表和其他东西。我只想从数据库中获得一个孩子。


{
  "Haydn" : {
    "Users" : {
      "email" : "[email protected]",
      "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) {

                    }
                }
弗兰克·范普菲伦

您可以这样设置参考:

reference = rootNode.getReference().child("Users");

这意味着Firebase从/Users数据库中读取数据由于Users您发布的JSON的根目录中没有节点,这意味着snapshot您将得到的是空的。


要读取单个节点(如您在此处尝试的那样),请设置对该节点的确切路径的引用:

reference = rootNode.getReference().child("Haydn/Users/name");

如您所见,您可以将整个路径传递到中的节点child(...)

使用此参考,您可以像下面这样读取值:

reference.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot snapshot) {
        if(snapshot.exists()){
            String displayName = snapshot.getValue(String.class);
            loggedInUserTextView.setText(displayName);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError error) {
        throw error.toException();
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何仅通过一个查询从mysql数据库中获取多个数据?

如何在实时数据库Firebase中获取第一个子节点

如何在Firebase数据库中获取所有孩子的数据?

获取Firebase数据库Android中的最后一个节点

如何只允许一个管理员用户编写Firebase数据库?

如何在Firebase数据库中获取所有嵌套孩子的数据?

在嵌套数据库Firebase Android中获取最后一个项目

如何在另一个DataSnapshot中访问Firebase数据库值

如何仅读取一个键以从Firebase数据库获取价值?

如何在Android Studio的Firebase数据库中检索1个孩子以下的数据列表

从firebase数据库中删除一个值

如何从Firebase实时数据库获取数据并更改一个文本字段以表示该特定记录?

如何仅更新Google Firebase数据库中的一个属性

如何通过从另一个数据库获取数据将数据插入数据库?

从Firebase数据库中仅获取一定数量的孩子

如何获取添加到数据库的最后一个节点的值

如何在 Firebase 数据库的主节点内创建一个节点?

获取 Firebase 数据库 Ionic 3 中节点的最后一个值

如何在 ListView 上获取所有孩子的数据 - Firebase 数据库

如何根据另一个孩子的值更新我数据库中的某个值?

如何从php中的mysql数据库获取最后一个插入ID?

从 Firebase 数据库获取最后一个节点到 textview android

查询或创建一个算法来关联 Firebase 数据库上 main 的 2 个孩子?

如何从Android中的firebase实时数据库中获取最后一个数据

如何从android studio的firebase实时数据库中的listview中的第一个获取最后添加的数据

如何从 Firebase 实时数据库中的孩子获取父值?

如何从firebase数据库onClick侦听器中删除最后一个节点?

访问firebase实时数据库中孩子的最后一个孩子

如何从我的 firebase 实时数据库中检索孩子数据的孩子的孩子?