如何在firebase实时数据库android中的唯一键下获取特定节点

谢赫·阿里·拉扎

我正在尝试从唯一键下的嵌套节点获取数据。每个键都是相同的。我很难处理这样的问题,请帮助。

我在数据库引用上尝试了 ChildEventListener 但没有成功。

这是我用来检索数据的代码

信息片段.java

auth = FirebaseAuth.getInstance();
    mFirebaseDatabase = FirebaseDatabase.getInstance().getReference("Seller").getRef().child("ImpInfo");

    mFirebaseDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for (DataSnapshot postDataSnapshot : dataSnapshot.getChildren()) {
                ShopSellerInfo shopSellerInfo = postDataSnapshot.getValue(ShopSellerInfo.class);
                mShopSellerInfo.add(shopSellerInfo);

            }
            mNearBySellerAdapter = new NearBySellerAdapter(getContext(), mShopSellerInfo);
            mRecyclerView.setAdapter(mNearBySellerAdapter);
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });
    return rootView;`

ShopSellerInfo.java

public ShopSellerInfo(String shopAddress, String shopPhoneNo, String 
shopImageUrl, String shopName) {
    this.shopAddress = shopAddress;
    this.shopPhoneNo = shopPhoneNo;
    this.shopImageUrl = shopImageUrl;
    this.shopName = shopName;

}

public ShopSellerInfo() {

}


public String getShopAddress() {
    return shopAddress;
}


public String getShopPhoneNo() {
    return shopPhoneNo;
}

public String getShopImageUrl() {
    return shopImageUrl;
}

public String getShopName() {
    return shopName;
}

public void setUserAddress(String shopAddress) {
    this.shopAddress = shopAddress;
}

public void setUserPhoneNo(String shopPhoneNo) {
    this.shopPhoneNo = shopPhoneNo;
}

public void setImageUrl(String shopImageUrl) {
    this.shopImageUrl = shopImageUrl;
}

public void setShopName(String shopName) {
    this.shopName = shopName;
}

}

这是我的数据库的结构

在此处输入图片说明

我在包含数据的每个唯一键中都有一个特定节点。我想从每个子节点检索该数据并在单个活动中显示。

弗兰克·范·普费伦

你离得不远,只是一些错误。以下内容更接近您的需要:

mFirebaseDatabase = FirebaseDatabase.getInstance().getReference("Seller");

mFirebaseDatabase.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        for (DataSnapshot sellerSnapshot : dataSnapshot.getChildren()) {
            DataSnapshot impInfoSnapshot = sellerSnapshot.child("ImpInfo");
            ShopSellerInfo shopSellerInfo = impInfoSnapshot.getValue(ShopSellerInfo.class);
            mShopSellerInfo.add(shopSellerInfo);
            mNearBySellerAdapter = new NearBySellerAdapter(getContext(), mShopSellerInfo);
            mRecyclerView.setAdapter(mNearBySellerAdapter);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        throw databaseError.toException();
    }
});

变化:

  • 删除了对 的调用.getRef(),这不是必需的,并且通常是一种反模式。
  • .child("ImpInfo")从 中删除了对 的调用DatabaseReference,因为没有/Seller/ImpInfo.
  • 添加.child("ImpInfo")到循环中,因为您需要ImpInfo每个快照子项。
  • 如果onCancelled触发引发错误,因为忽略错误是一种不好的做法。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用唯一键 + 自定义名称在 Firebase 实时数据库中保存数据

来自分类Dev

如何从Firebase实时数据库获取包含唯一密钥的字符串

来自分类Dev

如何限制对实时数据库中特定节点下声明的用户的写访问权限

来自分类Dev

如何在 Firebase 实时数据库中保存生成的唯一 ID

来自分类Dev

如何从Firebase中的实时数据库获取数据

来自分类Dev

如何获取实时数据库中的特定密钥?

来自分类Dev

如何在flutter中从Firebase实时数据库中获取数据?

来自分类Dev

如何从Android中的firebase实时数据库中获取最后一个数据

来自分类Dev

如何从android中的firebase实时数据库中获取数据

来自分类Dev

如何在 Firebase 实时数据库中获取子名称

来自分类Dev

如何获取Firebase实时数据库中添加的最后一项?

来自分类Dev

如何从Android中的Firebase实时数据库获取价值?

来自分类Dev

如何在 Firebase 实时数据库 Android 中实现等效的 .contains(SomeText)?

来自分类Dev

首次安装android应用时,如何从Firebase实时数据库获取数据库

来自分类Dev

如何在分区数据库中保持唯一键的唯一性?

来自分类Dev

如何在 Android Studio 中使用来自 Firebase 数据库的查询在不使用唯一 ID 的情况下获取子节点?

来自分类Dev

如何在不登录的情况下从 firebase 实时数据库获取用户 ID(UID)

来自分类Dev

Android Firebase 实时数据库获取数据太慢

来自分类Dev

Firebase实时数据库:如何侦听节点项的特定子集?

来自分类Dev

Firebase实时数据库:如何获取父节点的值

来自分类Dev

如何从Xamarin.Forms上的Firebase实时数据库获取ID节点(密钥)

来自分类Dev

在Flutter应用程序中从Firebase实时数据库事件获取父节点

来自分类Dev

如何获取firebase实时数据库的数据

来自分类Dev

在React Native中如何在Firebase Real Time实时数据库中生成子节点

来自分类Dev

Firebase 实时数据库,从键值对中获取数据

来自分类Dev

如何查询实时数据库以获取按时间排序的特定键的对象

来自分类Dev

仅在 firebase 实时数据库中的一个节点上禁用读取规则

来自分类Dev

如何在不知道firebase实时数据库中的父元素的情况下访问子元素?

来自分类Dev

如何从Firebase实时数据库获取最新记录

Related 相关文章

  1. 1

    使用唯一键 + 自定义名称在 Firebase 实时数据库中保存数据

  2. 2

    如何从Firebase实时数据库获取包含唯一密钥的字符串

  3. 3

    如何限制对实时数据库中特定节点下声明的用户的写访问权限

  4. 4

    如何在 Firebase 实时数据库中保存生成的唯一 ID

  5. 5

    如何从Firebase中的实时数据库获取数据

  6. 6

    如何获取实时数据库中的特定密钥?

  7. 7

    如何在flutter中从Firebase实时数据库中获取数据?

  8. 8

    如何从Android中的firebase实时数据库中获取最后一个数据

  9. 9

    如何从android中的firebase实时数据库中获取数据

  10. 10

    如何在 Firebase 实时数据库中获取子名称

  11. 11

    如何获取Firebase实时数据库中添加的最后一项?

  12. 12

    如何从Android中的Firebase实时数据库获取价值?

  13. 13

    如何在 Firebase 实时数据库 Android 中实现等效的 .contains(SomeText)?

  14. 14

    首次安装android应用时,如何从Firebase实时数据库获取数据库

  15. 15

    如何在分区数据库中保持唯一键的唯一性?

  16. 16

    如何在 Android Studio 中使用来自 Firebase 数据库的查询在不使用唯一 ID 的情况下获取子节点?

  17. 17

    如何在不登录的情况下从 firebase 实时数据库获取用户 ID(UID)

  18. 18

    Android Firebase 实时数据库获取数据太慢

  19. 19

    Firebase实时数据库:如何侦听节点项的特定子集?

  20. 20

    Firebase实时数据库:如何获取父节点的值

  21. 21

    如何从Xamarin.Forms上的Firebase实时数据库获取ID节点(密钥)

  22. 22

    在Flutter应用程序中从Firebase实时数据库事件获取父节点

  23. 23

    如何获取firebase实时数据库的数据

  24. 24

    在React Native中如何在Firebase Real Time实时数据库中生成子节点

  25. 25

    Firebase 实时数据库,从键值对中获取数据

  26. 26

    如何查询实时数据库以获取按时间排序的特定键的对象

  27. 27

    仅在 firebase 实时数据库中的一个节点上禁用读取规则

  28. 28

    如何在不知道firebase实时数据库中的父元素的情况下访问子元素?

  29. 29

    如何从Firebase实时数据库获取最新记录

热门标签

归档