java - 尝试从 Firebase 数据库中的子值获取 key

标签 java android firebase-realtime-database

我有一个字符串,我试图从中获取 key ,这样我就可以使用该 key 在该 key 位置检索更多值。 这是我的查询代码 -

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) {

        }
    });
}

这是我的数据库数据结构。

enter image description here

所以我正在尝试获取 key 1,2,3,4,但我将 Contest1 作为 key 。

最佳答案

循环遍历子元素怎么样:

......
@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


}

关于java - 尝试从 Firebase 数据库中的子值获取 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61315145/

相关文章:

android - 如何解决错误 : getSharedPreferences(String, int) is undefined for the type new View.OnClickListener(){}

java - Maltparser 错误

java - 这返回了一个引用还是一个新对象?

java - 当实体中存在关系时,我可以仅使用实体的 id 而不是从数据库中获取实体吗?

java - 需要使用struts 1.3在jsp页面上显示数据

android - 如何改变Android中循环搜索栏的进度?

android - 权限拒绝 : writing android. support.v4.content.FileProvider uri

ios - Firebase - 知道应用程序重启后数据何时保存到服务器

ios - EXC_BREAKPOINT(代码=EXC_i386_BPT,子代码=0x0)(lldb)

ios - 当 firebase 完成时向函数添加完成,iOS,Swift