当前位置: 首页 > 知识库问答 >
问题:

Firebase数据库路径的子项未通过DataSnapshot for loop(Android Studio)连接

司寇凯
2023-03-14

我的android项目连接到firebase时出现问题。我想在recyclerview中显示firebase数据库的子元素。为此,我创建了以下代码来将数据保存在arraylist中。但是在附加路径的子项时存在一个问题——代码不会将项添加到列表中:|。对数据库的引用或eventlistener中是否存在错误?

private void loadDataOutfitDetail(String userID, String weatherToday){
        // set the firebase path for loading the images of the clothes
        databaseRefOutfit = FirebaseDatabase.getInstance().getReference(userID + "/" + weather1 + "/ID1" + "/details");

        // clear the list for showing only the filtered weather
        uploadDetails.clear();

        // get data out
        databaseRefOutfit.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                for (DataSnapshot postSnapshot : dataSnapshot.getChildren()){
                    UploadDetails upload = postSnapshot.getValue(UploadDetails.class);
                    // add items to list
                    uploadDetails.add(upload);
                }

                // update the recyclerview
                outfitAdapter.notifyDataSetChanged();
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                Toast.makeText(getActivity(), databaseError.getMessage(), Toast.LENGTH_SHORT).show();
            }
        });
    }

我的Firebase数据库具有以下结构:

USERID
   outfit
      weather1
         ID1
            details
               desciption: Here is a description
               name: MyName
            imageUpperPart
               name: image1
         ID2
            details
               description: Here is another description
               name: NewName
            imageUpperPart
               name: image2

如何将details节点的值添加到arraylist uploadDetails?

谢谢你,基维德:)

共有1个答案

乌杰
2023-03-14

将引用更改为以下内容:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(userID).child("outfit").child("weather1").child("ID1").child("details");

引用中缺少节点装备

 类似资料:
  • 用Python来编写网站,必须要能够通过python操作数据库,所谓操作数据库,就是通过python实现对数据的连接,以及对记录、字段的各种操作。上一讲提到的那种操作方式,是看官直接通过交互模式来操作数据库。 安装python-MySQLdb 要想通过python来操作数据库,还需要在已经安装了mysql的基础上安装一个称之为mysqldb的库,它是一个接口程序,python通过它对mysql数据

  • 我有一个问题,从多个路径从Firebas eDatabase获取数据。我正在编写一个Endomondo克隆,我有一个数据库结构如下: 现在我想在feed选项卡中列出我朋友的所有锻炼。所以要做到这一点,我需要做三件事。 1)遍历我的配置文件(user_1)以获取我所有朋友的ID。 2)当我拥有这些ID时,我需要迭代它们的配置文件以获得它们的名称来显示。 3)遍历锻炼以获得我朋友的所有锻炼。 现在我想

  • 我想通过R从SQL数据库导入数据。我尝试了太多次(几乎6小时)连接到服务器。我运行这些命令,它显示错误:- jdbcDriver jdbc连接 我认为是司机的问题,但我无法解决。

  • 问题内容: 失败了,我不确定为什么。我用声明的手动参数执行了存储的proc,她工作得很好。虽然,我没有收到任何错误或任何其他建议,所以我不确定什么地方出错了。我在通往每行的代码中添加了一个中断,并在该行之后停在那里,在我告诉IDE继续执行之后,它跳过了该行,并且函数结束了。 作为记录,我的引用也很可靠。我已经从我完成的另一个项目中吞噬了这段代码,所以我很可能会缺少一些愚蠢的东西。无论如何,以下是代

  • 我已经创建了一个android应用程序,并使用firebase作为电子邮件注册和认证的手段。注册后,用户可以在数据库中存储库存项目。所以我的问题是,如何设置firebase身份验证规则,以便特定用户只能访问他们输入的数据。现在,每个人都可以读/写数据库。我不担心写的部分,因为电子邮件认证。提前感谢! 我的数据库是这样设置的:数据库

  • 一切正常,但DatabaseReference无法获取数据,这就像是忽略了我的代码运行,就像我的internet无法运行一样,请帮助我,我是这个社区的新手,下面是我的代码和图片。 以前它是工作的,但由于我只是更改了一些代码,使只有currentVersion>=vCode,这样即使数据库中的值是 firebase数据库映像 mainactivity.java manifest.xml 依赖关系