【发布时间】:2021-12-19 05:06:51
【问题描述】:
我花了几个小时试图弄清楚为什么 Firestore 中文档中的某些字段不会转移到我的代码中。
您能否帮我确定我的代码有什么问题以及我应该如何更改它以使其正常工作?
This is what my Firebase Database looks like
(是的,公交车号被特意保存为字符串)
我尝试使用 getValue 方法从 Firebase 读取数据,如下代码所示:
DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("BusDrivers");
// Getting all of the registered bus drivers' information
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot datasnapshot) {
for (DataSnapshot snapshot : datasnapshot.getChildren()) {
BusDriver busDriver = snapshot.getValue(BusDriver.class);
busDrivers.add(busDriver);
}
}
但是,只有部分字段被传输到 busDriver 对象。当我调用busDriver.getDriverFirstName() 时,我准确地得到了一个结果......
但是当我调用 busDriver.getAmBusRoute() 时,出于某种原因我得到了这个...
这也是 BusDriver 类的代码。
public class BusDriver {
private final String busDriverID;
private final String amBusRoute;
private final String pmBusRoute;
private final String driverFirstName;
private final String driverMiddleName;
private final String driverLastName;
public BusDriver() {
this.busDriverID = "N/A";
this.amBusRoute = "N/A";
this.pmBusRoute = "N/A";
this.driverFirstName = "N/A";
this.driverMiddleName = "N/A";
this.driverLastName = "N/A";
}
public BusDriver(String busDriverID, String amBusRoute, String pmBusRoute, String driverFirstName, String driverMiddleName,
String driverLastName) {
this.busDriverID = busDriverID;
this.amBusRoute = amBusRoute;
this.pmBusRoute = pmBusRoute;
this.driverFirstName = driverFirstName;
this.driverMiddleName = driverMiddleName;
this.driverLastName = driverLastName;
}
public String getBusDriverID() { return busDriverID; }
public Object getAmBusRoute() { return amBusRoute; }
public Object getPmBusRoute() { return pmBusRoute; }
public String getDriverFirstName() { return driverFirstName; }
public String getDriverMiddleName() { return driverMiddleName; }
public String getDriverLastName() { return driverLastName; }
}
请帮助我。谢谢!
【问题讨论】:
标签: java android firebase google-cloud-platform google-cloud-firestore