java - 如何使用 android 获取 Firebase 数据库中的子值?

标签 java android firebase firebase-realtime-database

Previously ,我要求获取firebase中的数据。但我无法获取该值...我的数据库是这样的。

{Singer :
    {Eminem :
        {01 :
            songName : "Rap god",
            songType : "type01"
        },
        {02 :
            songName : "Till I collapse",
            songType : "type02"
        }
    },
    {Lauv :
        {01 :
            songName : "I Like Me Better",
            songType : "type01"
        },
        {02 :
            songName : "lonely",
            songType : "type03"
        }
    },
    {Alan Walker :
        {01 : 
            songName : "All Falls Down",
            songType : "type02"
        },
        {02 :
            songName : "On My Way",
            songType : "type01"
        }
    }  
}            

我想获取全部type01Singer他们全部。我尝试过这样的代码

@Override
public void onBindViewHolder(@NonNull MyHolder holder, int i) {
    ...
    Query myQuery = FirebaseDatabase.getInstance().getReference().child("Singer").orderByChlid("songType").equalsTo("type01");
    FirebaseRecyclerOption.Builder<ItemModel>.setQuery(myQuery, new SanpshotParser<ItemModel>() {
        @NonNull
        @Override
        public ItemModel parseSnapshot(@NonNull DataSnapshot snapshot) {
            String songStr = snapshot.child("songName").getValue().toString();
            String typeStr = snapshot.child("songType").getValue().toString();

            return new ItemModel(songStr, typeStr);
        }
    }).build();
    ...
}

但我无法得到我想要的东西。 FirebaseDatabase.getInstance().getReference().child("Singer").orderByChild("songType").equalsTo("type01")无法读取函数parseSnapshot中的数据。如何获取输入为type01的歌手的所有歌曲?

最佳答案

您需要更深入一步,以便查询可以访问songType:

FirebaseDatabase.getInstance().getReference().child("Singer").child("Eminem").orderByChild("songType").equalsTo("type01")

关于java - 如何使用 android 获取 Firebase 数据库中的子值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58090533/

相关文章:

java - 内存中的对象搜索优化

swift - 从 Firebase Snapshot Swift 中仅获取第一个对象

java - Hibernate 示例查询

android - 找不到类 'com.google.ads.AdRequest'

android - RecyclerView 未显示

javascript - Admin SDK 无法设置 Firestore 的设置

ios - 当应用程序更新时,Firebase匿名将持续存在吗?

Java 日志框架和日志分析器

java - getResourceAsStream 在 jUnit 上工作,但不在 Tomcat 上工作

java - 启动一个线程,该线程在指定时间后终止进程