Java 从firebase methodwise检索数据
如何从firebase检索两个不同构造函数的数据?这是我的鸡蛋课。我只想收到一个铺设和孵化和另一个状态Java 从firebase methodwise检索数据,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,如何从firebase检索两个不同构造函数的数据?这是我的鸡蛋课。我只想收到一个铺设和孵化和另一个状态 private String laying, hatching,status; public Eggs() { } public Eggs(String laying) { this.laying=laying; } public Eggs(String hatching, String status) { this.hatching = hatching; thi
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);
然后将它们添加到arraylist?使用传递给onDataChange的命令到达相关的子快照,使用读取它们,并将它们传递给构造函数
getValue()的文档说明:
getValue()将此快照中包含的数据作为本机数据返回
类型。返回的可能类型包括:
- 布尔值
- 串
- 长的
- 双重的
- 地图
- 名单
DataSnapshot layingSnapshot = breedingSnap.child("laying");
String laying = (String) layingSnapshot.getValue();
因此,您必须既知道要读取的子对象的名称,又必须检查并强制转换其预期类型。为了避免运行时问题,您还应该在强制转换子值之前检查其类型
public class Eggs {
@Nullable
private String laying;
@Nullable
private String hatching;
@Nullable
private String status;
public String getLaying() {
return laying;
}
public void setLaying(String laying) {
this.laying = laying;
}
public String getHatching() {
return hatching;
}
public void setHatching(String hatching) {
this.hatching = hatching;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}