java - 如何在 Firebase 中遍历子项 - Java

标签 java android firebase firebase-realtime-database

我想遍历 Firebase 实时数据库节点中的子节点

这是我的数据库结构。

enter image description here

这是我的代码。

  DatabaseReference RedLineRouteReference = FirebaseDatabase.getInstance().getReference().child("RedLineRoute");
                                    RedLineRouteReference.addValueEventListener(new ValueEventListener() {
                                        @Override
                                        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                                            Iterator i = dataSnapshot.getChildren().iterator();
                                            if(true)                                            {
                                                Toast.makeText(TimeTable.this, i.next().toString(), Toast.LENGTH_SHORT).show();

                                            }

                                        }

                                        @Override
                                        public void onCancelled(@NonNull DatabaseError databaseError) {

                                        }
                                    });

这个程序输出

I/TimeTable: DataSnapshot { key = aMaison, value = true }

但是我想隔离每次迭代(每个 child )

例如我想定义第二个 child 和第三个 child 等等......

最佳答案

在 Java 中处理 Iterable 的方式是使用一个简单的 for 循环:

for (DataSnapshot child: dataSnapshot.getChildren()) {
    String key = child.getKey();
    String value = child.getValue().toString();
    // do what you want with key and value
}

关于java - 如何在 Firebase 中遍历子项 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57417006/

相关文章:

android - 具有自定义属性的 ObjectAnimator 不调用属性 setter

android - Unresolved reference : BuildConfig in Kotlin

Android 定位模式,无 GPS,AOSP 中的选项

php - 在哪里可以找到 FCM Firebase 注册 ID(在 PHP 中,用于 Ionic 框架)?

android - Firebase API key 限制不适用于 Android 应用程序包名称和 SHA1 指纹

c# - 虚函数在 C# 和 Java 中如何工作?

java - 读取 S3 文件时出现 "java.net.SocketException: Socket is closed"

java - 为什么我的 JUnit 测试(修改数据库条目)失败

java - 在 Firebase 中获取查询

java - 行星超出了数字框