如何在Firebase-Java中迭代子级
我想迭代Firebase实时数据库节点中的子节点 这是我的数据库结构。 这是我的密码。 DatabaseReference RedLineRouteReference=FirebaseDatabase.getInstance().getReference().child(“RedLineRoute”); RedLineRouteReference.addValueEventListener(新的ValueEventListener(){ @凌驾 public void onDataChange(@NonNull DataSnapshot DataSnapshot){ 迭代器i=dataSnapshot.getChildren().Iterator(); 如果(真){ Toast.makeText(timeline.this,i.next().toString(),Toast.LENGTH_SHORT).show(); } } @凌驾 已取消的公共void(@NonNull DatabaseError DatabaseError){ } }); 此程序输出 但是,我想隔离每个迭代(每个子迭代)如何在Firebase-Java中迭代子级,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我想迭代Firebase实时数据库节点中的子节点 这是我的数据库结构。 这是我的密码。 DatabaseReference RedLineRouteReference=FirebaseDatabase.getInstance().getReference().child(“RedLineRoute”); RedLineRouteReference.addValueEventListener(新的ValueEventListener(){ @凌驾 public void onDataChange
例如,我想定义第二个子项和第三个子项等等…在Java中处理Iterable的方法是使用一个简单的for循环:
for(DataSnapshot子级:DataSnapshot.getChildren()){
String key=child.getKey();
字符串值=child.getValue().toString();
//用key和value做你想做的事
}
例如,我将如何获得第一个和第二个孩子?使用Child()按名称调用他们。如果您是使用DataSnapshot的新手,应该通读文档。我会接受你的回答,但我真正想知道的是,如何在不知道每个孩子的钥匙的情况下隔离和单独给每个孩子打电话你需要知道孩子的名字才能接近他们。如果你不知道它们的名字,你可以像我所展示的那样迭代它们来发现它们。把它想象成一个散列图。您可以通过项的键获取项,也可以迭代所有项。如果你不知道你要找的东西,那是个问题。好吧,我明白。我在开头展示的firebase数据库中有一个路由/线路,管理员应该会改变它,所以路由会改变,我想调用该数据并根据子节点的位置设置条件
I/TimeTable: DataSnapshot { key = aMaison, value = true }