我正在使用 Firebase for Android 制作一个涉及组的应用程序我的 firebase 中有一个项目列表,这些项目是使用 push 方法推送的,如下所示:
-Groups Joined:
~Unique Key: Group 1 Name
~Unique Key: Group 2 Name
我正在尝试将此列表作为我的 android 代码中的 Java 列表检索。我需要能够通过索引而不是唯一键访问加入的组节点中的信息,我正在使用此代码。
Query groupsJoined = myUserRef.child("Groups Joined").orderByKey();
groupsJoined.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
// do some stuff once
groupNames = (ArrayList<String>) snapshot.getValue();
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
代码崩溃是因为 snapshot.getValue() 正在返回 map 类型的对象。我无法访问地图的元素,因为我没有将这些唯一键存储在 android 设备上,我也不想这样做。我怎样才能让数据快照作为我可以迭代的东西返回,并在不使用唯一键的情况下获取组名?