当前位置: 首页 > 知识库问答 >
问题:

Firebase查询

訾安邦
2023-03-14

我在数据库里有这个:

当教师添加一个类和一个节时,在节点Class下使用push()生成一个随机id。还有一个student和一个teach节点,其中包含ID和属性。

学生加入了一个类,因此也在classStudent中创建了一个带有上述属性的随机id。

我使用以下代码

DatabaseReference gets=FirebaseDatabase.getInstance().getReference().child("Student");
final DatabaseReference getid=FirebaseDatabase.getInstance().getReference().child("Class");
ValueEventListener valueEventListener1= new ValueEventListener() {
               @Override
               public void onDataChange(DataSnapshot dataSnapshot) {
                   for(DataSnapshot child: dataSnapshot.getChildren()) {
                       String classnames = child.child("Classname").getValue().toString();
                       if (returnString.equals(classnames)) {
                           String getids = child.getKey();
                           newtable.child("ClassId").setValue(getids);
                       }
                   }
               }
               @Override
               public void onCancelled(DatabaseError databaseError) {
               }
           };
           getid.addValueEventListener(valueEventListener1);

我之所以有一个名字,是因为以后我想点击一个类,并获得该类中的名字列表。因此,如果我在ClassStudent节点中添加学生ID(已经完成了),那么在ClassStudent中没有studentname的情况下,我如何能够在单击时检索Students时检索Students的名称呢?

编辑:

#3的输出。查询后:

Peter Haddad
John
Phillip
//names

共有1个答案

毋玺
2023-03-14

要获取classStudent节点下的所有stundet名称,请使用以下代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference classStudentRef = rootRef.child("ClassStudent");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String Studentname = ds.child("Studentname").getValue(String.class);
            Log.d("TAG", Studentname);
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
classStudentRef.addListenerForSingleValueEvent(eventListener);

你的出局将是:

Peter Haddad
//other names
 类似资料:
  • 主要内容:按子列排序,按索引排序,按值排序Firebase提供了多种排序数据的方式。 在本章中,我们将学习简单的查询示例。 这里将使用前面章节中的相同数据。数据记录如下所示 - 按子列排序 要按列排序数据,可以使用下面的代码。 示例 让我们来看看下面的例子。 执行上面示例代码,得到以下结果 - 按索引排序 我们可以通过类似的方式:按索引键来排序数据。 示例 让我们看看下面的一个例子。 执行上面示例代码,得到以下结果 - 按值排序 我们也可

  • 我有一个关于查询的问题,我实际上是在尝试膨胀视图,其中添加为朋友的人可以添加到回收器视图。 错误是: 原因:com。fasterxml。杰克逊。数据绑定。exc.UnrecognizedPropertyException:无法识别的字段“sahaj9917730102@gmail“(class.com.rana.sahaj.myyu.FriendsData),未标记为可忽略(5个已知属性:,”st

  • 在firebase中给定下面的数据结构,我想运行一个查询来检索博客'EFG'。我现在不知道用户id。

  • 我正试图从firebase数据库中获取项目列表。。。但我很难得到它们。我的代码大致如下: 应该返回我的项目的方法如下所示: GetItems()总是返回一个空列表,这有点道理,因为在我返回这个列表之前,没有什么可以触发onDataChange事件,所以我的问题是。。。如何使用此方法从DB返回项目列表?

  • 主要内容:检查连接在本章中,我们将演示如何处理Firebase连接状态。 检查连接 我们可以使用下面的代码检查连接值。 当运行应用程序时,弹出窗口会通知有关连接。 通过使用上面给出的功能,可以跟踪连接状态并相应地更新您的应用程序。