【发布时间】:2019-01-03 21:26:28
【问题描述】:
我正在测试 Firestore 以使其更加熟悉并在我的项目中实现,但由于某种原因,我无法从数据库中取回 POJO 类的对象。我知道我可以将数据作为地图获取,但我想要我的 POJO 类。我遵循了许多答案来帮助我入门,但我无法解决这个问题。这是我的代码:
mDocumentReference.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
UserPOJO pojo = (UserPOJO) task.getResult(); //Error
}
}
});
getResult() 对我没有帮助。所以我用 POJO 添加了我的数据,我的问题是,如何将它作为 POJO 恢复?
我的 POJO:
public class UserPOJO {
private String name, email, id, college, state;
private int age, number;
public UserPOJO() {
}
public UserPOJO(String name, String email, String id, String college, String state, int age, int number) {
this.name = name;
this.email = email;
this.id = id;
this.college = college;
this.state = state;
this.age = age;
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCollege() {
return college;
}
public void setCollege(String college) {
this.college = college;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
我的错误:
错误:不兼容的类型:DocumentSnapshot 无法转换为 UserPOJO
【问题讨论】:
-
发布堆栈溢出时,请发布所有相关代码(包括您的 POJO)、您收到的错误消息(通常是整个异常堆栈跟踪)以及您希望读取的数据库内容.如果没有所有这些信息,我们就无法判断您出了什么问题。
-
@DougStevenson 添加了 POJO 和错误。谢谢!
-
@ErolEngineer 我期待这样的错误。请在下面查看我的答案。
标签: java firebase firebase-realtime-database google-cloud-firestore