java - 尝试从 Firebase 数据库中的子值获取密钥
问题描述
我有字符串,我试图从中获取密钥,因此我可以使用该密钥在该密钥位置检索更多值。这是我的查询代码 -
private void xyz()
{
Query t1 = FirebaseDatabase.getInstance().getReference().child("leaderboard").child(matchnumber).child(conlocation).orderByChild("teamname").equalTo(name1);
t1.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String key = dataSnapshot.getKey();
Toast.makeText(Leaderboard.this, key, Toast.LENGTH_SHORT).show();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
这是我的数据库数据结构。
所以我正在尝试获取密钥 1、2、3、4,但我将竞赛 1 作为密钥。
解决方案
如何循环遍历孩子:
......
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot ds: dataSnapshot.getChildren()){
//this runs for every key
String key = ds.getKey();
Toast.makeText(Leaderboard.this, key, Toast.LENGTH_SHORT).show();
}
}
......
对于评论:
.........
for(DataSnapshot ds: dataSnapshot.getChildren()){
//this runs for every key
String key = ds.getKey();
sendKey(key);
........
//new method under your private method
public void sendKey(String key){
//do what ever with the key or keys
}
推荐阅读
- logging - 如何将量角器异常记录到日志文件?
- scala - 如何将 apache poi xls 工作簿直接流式传输到 akka-http 响应?
- amazon-web-services - SQS 是否以异步/同步方式触发 lambda?
- powershell - 如何在 PowerShell 中一起执行 shift 键和波浪号键?
- javascript - 如何在Node.js的谷歌云存储中使用singed url上传文件后限制重新上传?
- java - java - 如何根据Java中父类的实例变量在运行时选择基类?
- react-native - React Native - 如何延迟启动
- google-bigquery - Simba ODBC 驱动程序到 Bigquery 连接错误
- bash - bash cat 根据 grep 结果排除多个文件
- java - 错误:线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:索引 1 超出 Main.main 处长度 1 的范围(Main.java:16)