gpt4 book ai didi

java - 从 firebase 方法明智地检索数据

转载 作者:行者123 更新时间:2023-12-01 18:47:15 25 4
gpt4 key购买 nike

如何从 Firebase 检索 2 个不同构造函数的数据?这是我的鸡蛋课。我只想接收其中一只的产卵信息,以及另一只的孵化信息和状态信息。

private String laying, hatching,status;

public Eggs() {
}
public Eggs(String laying)
{
this.laying=laying;
}
public Eggs(String hatching, String status) {
this.hatching = hatching;
this.status = status;
}

我使用此方法从 firebase 检索数据

         public void onDataChange(@NonNull DataSnapshot dataSnapshot) {      
for (DataSnapshot breedingSnap : dataSnapshot.getChildren()) {
Eggs data = breedingSnap.getValue(Eggs.class);
eg.add(data);
}
});

我怎样才能实现这样的事情-

Eggs laying=new Eggs(String laying);
Eggs st=new Eggs(String hatching,String status);

然后将它们添加到数组列表中?

最佳答案

使用DataSnapshot传递给 onDataChange 以使用 child() 到达相关子快照,使用 getValue() 读出它们,并将它们传递给您的构造函数。

getValue() 的文档说:

getValue() returns the data contained in this snapshot as native types. The possible types returned are:

  • Boolean
  • String
  • Long
  • Double
  • Map
  • List

This list is recursive; the possible types for Object in the above list is given by the same list. These types correspond to the types available in JSON.

例如,要从快照中读取名为“laying”的字符串子值:

DataSnapshot layingSnapshot = breedingSnap.child("laying");
String laying = (String) layingSnapshot.getValue();

因此,您必须知道要读取的子级的名称,并检查并强制转换它们的预期类型。为了避免运行时问题,您还应该在转换之前检查子值的类型。

关于java - 从 firebase 方法明智地检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59806229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com