android - 从 Firebase DataSnapshot 中提取单个值

标签 android firebase firebase-realtime-database

我正在使用 addListenerForSingleValueEvent 从 Firebase 数据库检索数据,我得到如下内容:

DataSnapshot { key = Food, value = {-key1=true, -key2=true, -key3=true} }

从这个数据快照中,如何提取食物值的关键字符串(即 -key、-key2 和 -key3)以单独保存在数组中,如 array{-key1, -key2, -key3}

最佳答案

如果您已有快照,则可以使用 child() 来处理子项:

public void onDataChange(DataSnapshot snapshot) {
    System.out.println(snapshot.getKey()); // Food
    System.out.println(snapshot.child("-key1").getValue()); // true
}

您还可以循环遍历子项:

public void onDataChange(DataSnapshot snapshot) {
    for (DataSnapshot child: snapshot.getChildren()) {
        System.out.println(child.getKey()); // "-key1", "-key2", etc
        System.out.println(child.getValue()); // true, true, etc
    }
}

关于android - 从 Firebase DataSnapshot 中提取单个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39752194/

相关文章:

ios - 如何在 Firebase 快照的控制流中使用 Nil? ( swift )

android - flutter 应用程序 : IOS emulator not connecting to Android Studio

c# - Android布局问题..不知道如何调试

android - 登录google firebase账户报错16问题

firebase - 带有文件流和Firebase云功能+云存储的文件上传

java - 从 Android 版 Firebase 读取多个 key 时出现问题

javascript - 设置 firebase 后出现以下错误 : Client doesn't have permission to access the desired data

android - 从 1 行 4 列的 CursorWindow 读取第 0 行第 4 列失败

java - Android - Activity 无法解析为类型

javascript - 如何连接到 Firebase Firestore?