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

查找datasnapshot firebase的子级的数据类型

梁嘉澍
2023-03-14

我在分析通过调用valueeventlistener获得的datasnapshot时遇到问题。由于某些原因,在查询数据库时,我选择使用它而不是ChildEventListener

public Trainer(DataSnapshot dataSnapshot)
{
    for(DataSnapshot snapshot: dataSnapshot.getChildren())
    {
        Trainer trainer = snapshot.getValue(Trainer.class);

        name = trainer.name;
        civilNo = trainer.civilNo;
        email = trainer.email;
        age = trainer.age;
        phone = trainer.phone;
        gender = trainer.gender;
        password = trainer.password;
        carNo = trainer.carNo;
        places = trainer.places;
        vehicleType = trainer.vehicleType;
        languages = trainer.languages;
        rate = trainer.rate;
        price = trainer.price;
        contractType = trainer.contractType;
        spokenLanguage = trainer.spokenLanguage;
        trainingAreas=trainer.trainingAreas;
        hourPrice=trainer.hourPrice;
        contractPrice=trainer.contractPrice;
        trainingTime=trainer.trainingTime;
        key = snapshot.getRef().getKey();
    }
}
public class Trainers {

    private ArrayList<Trainer> trainers;

    public Trainers()
    {
        // Empty default constructor
    }

    public Trainers(DataSnapshot dataSnapshot)
    {
        trainers = new ArrayList<>();

        for(DataSnapshot snapshot: dataSnapshot.getChildren())
            trainers.add(new Trainer(snapshot));
    }

    public ArrayList<Trainer> getTrainers() {
        return trainers;
    }

    public void setTrainers(ArrayList<Trainer> trainers) {
        this.trainers = trainers;
    }
}

将生成一个错误,告诉我发生了转换错误:

我要求的是:

我想过确定传递的datasnapshots的子级是其他datasnapshots还是实际值,然后在此基础上使用if语句来进行正确的分析,但我不知道如何做到这一点。你能帮帮我吗?

共有1个答案

闽高峯
2023-03-14

您应该使用:

for(DataSnapshot snapshot: dataSnapshot.getChildren())
            trainers.add(snapshot.getValue(Trainer.class);
    }

Public Trainers(DataSnapshot DataSnapshot)类中。

 类似资料:
  • 我有一个数据库是由某人为一项开发而创建的。在那个数据库中,我有一个这样的表。这是一个模式,如果parentID为0,则这些是超级类别。 1个 2. 3. 4个 5. 6. 当我浏览这个网站的时候,我可以得到一个- “AAA”的直接上级为“AA”,而“AA”的直接上级为“A”。因此,乍一看,“AAA”的超级类别是“a”。我想获得任何子类别的超级类别(父类别为“0”)。此子类别流可以是无限的。如果有人

  • 我目前有一个代码片段,其中对于每个类别,它将找到子类别: 将递归获取一个类别的子级: 目前,使用,只检索子类别的子类别,因此如果每个子类别都有自己的子类别,则不会将其保存到子类别中。 我如何显示子子类别给我们的子类别? 我想用我的代码做的是获取一个父级,获取它的子级,然后将这些子级中的每一个视为父级,递归地获取它的子级,但是我的JSON输出并没有反映这一点。只有父对象有子对象-子对象没有子对象(尽

  • 最有效的方法是只使用纯javascript查找特定父元素的子元素(带有类或ID)。没有jQuery或其他框架。 在这种情况下,我需要找到parent的child1或child2,假设DOM树中可以有多个child1或child2类元素。我只想要父母的元素

  • 问题内容: 我有一个变量f。如何确定其类型?这是我的代码,输入到python解释器中,显示出我在Google上发现的许多示例的成功模式都出错了。(提示:我是Python的新手。) 使用fa函数,我尝试使用u = str(type(f))将type(f)的返回值转换为字符串。但是当我尝试u.print()时,我收到一条错误消息。这给我提出了另一个问题。在Unix下,来自Python的错误消息会出现在

  • 我使用Spring(引导)2.2.7与mongoDB 4.0运行在Debian Stretch(9.12)。我已经设置了3个集合,我试图通过聚合查找级联操作加入这些集合。 操作(节点类) 股票(组件类) 目录(产品类) 每个类都有一个将它们链接在一起的uuid字符串属性。 节点(传感器、接收器、基站等) 组件(带有序列号、条形码的交付产品…) 产品(市场人工制品) 在mongo shell中运行此

  • 我有Oracle12c版本的数据库。 如何找到这两列中的字符总数。 提前谢了。