Firebase 实时数据库读取所有现有数据

该死的蔬菜

Firebase 实时数据库似乎会在添加或删除新项目等情况下通知我。这很好,但如何获取我之前收到通知的所有现有项目?

例如,假设我的应用列出了数据库中的项目。我第一次启动我的应用程序。然后创建了“项目 1”和“项目 2”。Firebase 通知我“项目 1”和“项目 2”,所以我将它们添加到我的应用列表中。

现在,我的应用程序已关闭并重新启动。如果创建了一个新项目“项目 3”,我会收到通知,但如何再次检索“项目 1”和“项目 2”?简而言之,我想再次显示所有项目。

我已经搜索了示例,但我能找到的所有示例都是获取事件,而不是“阅读全部”。

PS:我认为你们两个花时间解释。我误解了 Firebase 实时数据库的工作原理;我以为我只会在会话中收到一次新项目的通知。似乎只能通过 通知我新项目addChildEventListener,并且我可以使用addValueEventListener它的 dataSnapshot访问整个项目

亚历克斯·马莫

要立即获取节点中存在的所有项目,即使是在您重新启动应用程序之前或之后添加的,您也需要to attach a listener on that node. Firebase 中的一切都与侦听器有关。这意味着您正在监听在特定位置的数据库中所做的每一个更改。所以在每一刻你都可以dataSnapshot从你的数据库中获得一个特定的节点。因此,假设我们有一个如下所示的数据库:

Firebase-root
    |
    --- users
          |
          --- userId1
          |     |
          |     --- //details
          |
          --- userId2
                |
                --- //details

如果我们在users节点上附加一个侦听器,我们可以创建一个List包含所有用户的对象,如下所示:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = rootRef.child("users");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        List<String> list = new ArrayList<>();
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String userId = ds.getKey();
            list.add(userId);
            Log.d("TAG", userId);
        }
        Log.d("TAG", list);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
usersRef.addListenerForSingleValueEvent(eventListener);

您的输出将是:

userId1
userId2

因此,使用此代码,您可以获得所有用户,即使在您重新启动之后的应用程序之前添加了这些用户。您可以实时获取数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Firebase 实时数据库,无法检查现有数据的数据库,如果不存在则推送

来自分类Dev

如何使用随机生成的ID将现有数据更新到Firebase实时数据库中的数据

来自分类Dev

如何更新Firebase实时数据库中的现有值?

来自分类Dev

Firebase实时数据库未在Android调试APK版本上返回所有值

来自分类Dev

Firebase实时数据库未在Android调试APK版本上返回所有值

来自分类Dev

Firebase实时数据库规则(所有人都可以读取,但只能编辑所有者)

来自分类Dev

从Firebase实时数据库读取特定数据

来自分类Dev

如何从Firebase实时数据库读取数据

来自分类Dev

Firebase实时数据库读取数据

来自分类Dev

如何从Firebase数据库获取所有数据?

来自分类Dev

Firebase可调用函数读取实时数据库

来自分类Dev

firebase 实时数据库读取速度较松

来自分类Dev

如何在Flutter中将Firebase实时数据库读取为“字符串”(没有Widget,streambuilder)?

来自分类Dev

在SwiftUI中读取带有子节点的Firebase实时数据库父节点时出现问题

来自分类Dev

如何使用Firebase实时数据库中的键值或字段键删除所有字段和值?

来自分类Dev

如何从实时数据库firebase的单个列表视图中同时获取所有子项的详细信息

来自分类Dev

Firebase实时数据库列出Java中具有自动增量的数据

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

Firebase实时数据库-规则

来自分类Dev

Firebase实时数据库addValueEventListener

来自分类Dev

Android:Firebase实时数据库

来自分类Dev

Firebase 实时数据库的问题

来自分类Dev

Firebase 实时数据库帖子

来自分类Dev

Flutter:Firebase实时数据库orderByChild对查询结果没有影响

来自分类Dev

查询子项具有属性的Firebase实时数据库

来自分类Dev

具有Express Backend的Firebase Auth和实时数据库

来自分类Dev

Flutter:使用带有http请求的Firebase实时数据库实现分页

来自分类Dev

RN Firebase 实时数据库身份验证令牌有效负载

来自分类Dev

Firebase 实时数据库规则。获取 url 中没有 @uid 的规则

Related 相关文章

  1. 1

    Firebase 实时数据库,无法检查现有数据的数据库,如果不存在则推送

  2. 2

    如何使用随机生成的ID将现有数据更新到Firebase实时数据库中的数据

  3. 3

    如何更新Firebase实时数据库中的现有值?

  4. 4

    Firebase实时数据库未在Android调试APK版本上返回所有值

  5. 5

    Firebase实时数据库未在Android调试APK版本上返回所有值

  6. 6

    Firebase实时数据库规则(所有人都可以读取,但只能编辑所有者)

  7. 7

    从Firebase实时数据库读取特定数据

  8. 8

    如何从Firebase实时数据库读取数据

  9. 9

    Firebase实时数据库读取数据

  10. 10

    如何从Firebase数据库获取所有数据?

  11. 11

    Firebase可调用函数读取实时数据库

  12. 12

    firebase 实时数据库读取速度较松

  13. 13

    如何在Flutter中将Firebase实时数据库读取为“字符串”(没有Widget,streambuilder)?

  14. 14

    在SwiftUI中读取带有子节点的Firebase实时数据库父节点时出现问题

  15. 15

    如何使用Firebase实时数据库中的键值或字段键删除所有字段和值?

  16. 16

    如何从实时数据库firebase的单个列表视图中同时获取所有子项的详细信息

  17. 17

    Firebase实时数据库列出Java中具有自动增量的数据

  18. 18

    Firebase实时数据库addValueEventListener

  19. 19

    Firebase实时数据库-规则

  20. 20

    Firebase实时数据库addValueEventListener

  21. 21

    Android:Firebase实时数据库

  22. 22

    Firebase 实时数据库的问题

  23. 23

    Firebase 实时数据库帖子

  24. 24

    Flutter:Firebase实时数据库orderByChild对查询结果没有影响

  25. 25

    查询子项具有属性的Firebase实时数据库

  26. 26

    具有Express Backend的Firebase Auth和实时数据库

  27. 27

    Flutter:使用带有http请求的Firebase实时数据库实现分页

  28. 28

    RN Firebase 实时数据库身份验证令牌有效负载

  29. 29

    Firebase 实时数据库规则。获取 url 中没有 @uid 的规则

热门标签

归档