java - 如何在 android 的 firebase 数据库中跳过子项

标签 java android firebase firebase-realtime-database

代码

private void fetchResults() {
    mDatabaseReference.child("Users").child(id).child("Quiz").child("Results").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot resultSnapshot: dataSnapshot.getChildren()) {
                Results result = dataSnapshot.getValue(Results.class);
                resultsList.add(result);
                mAdapter.notifyDataSetChanged();
            }
            mAdapter.notifyDataSetChanged();
        }

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

数据库在 RESULTS 之后还有一个子项,那就是用户的用户唯一 ID...显然我不知道哪个用户是哪一个用户,所以我如何跳过该子项来访问其中的信息

数据库结构 - https://ibb.co/mL5KFy

最佳答案

不要在 Result.class 中获取结果,而是将其作为 String 和 User 的映射获取

private void fetchResults() {
mDatabaseReference.child("Users").child(id).child("Quiz").child("Results").addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot resultSnapshot: dataSnapshot.getChildren()) {
            Map<String, User> map = (Map) dataSnapshot.getValue();
            if (map != null) {
                 for (String id: map.entrySet()) {
                      User user = map.get(id);
                      //DO whatever you wan here

                 }
            }
        }
        mAdapter.notifyDataSetChanged();
    }

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

关于java - 如何在 android 的 firebase 数据库中跳过子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50656221/

相关文章:

java - fork/join 框架比线程池好在哪里?

java - 在 Java 中缩放图像/图标

firebase - 如何删除自动 Google Cloud Firestore 索引?

database-design - 将 Firebase 用户 UID 用于相关数据库条目的键 - 好的还是坏的做法?

java - 关于使用字符串数组形式的值查询 Java Map。

java - Android Studio 上带有 fragment 的抽屉导航

java - Pocketsphinx Demo 中空指针异常切换到搜索

安卓图库

node.js - 持续服务器端 Firebase 监控的方法(Web 应用程序)

java - 是否有任何选项可以在项目中构建单个 java 文件