【发布时间】:2019-06-09 03:45:16
【问题描述】:
我正在迁移我的应用以使用 Firebase Firestore,我的一个模型非常复杂(包含其他自定义对象的列表)。查看文档,关于如何将模型对象提交为文档,看起来您只需使用公共构造函数以及 getter 和 setter 创建模型对象。
例如来自添加数据指南:
public class City {
private String name;
private String state;
private String country;
private boolean capital;
private long population;
private List<String> regions;
public City() {}
public City(String name, String state, String country, boolean capital, long population, List<String> regions) {
// getters/setters
}
Firestore 会自动将其转换为文档,无需任何额外步骤。您将实例传递给 DocumentReference.set(city) 调用,并从对 DocumentSnapshot.toObject(City.class) 的调用中检索它
它究竟是如何将其序列化为文档的?通过反思?它没有讨论任何限制。基本上,我想知道这是否适用于更复杂的模型,以及复杂程度。它适用于具有ArrayList 自定义对象的类吗?
【问题讨论】:
-
你在一个问题中问了很多事情。
-
它使用反射。这对于将数据映射到 POJO (JavaBean) 类型对象的系统很常见。仅使用 getter 和 setter,或公共成员字段。
-
@DougStevenson 谢谢。它是否适用于最终归结为 POJO 类型的自定义对象列表?像
A包含一个B列表,其中包含一个C列表,其中包含 POJO 类型 -
我不确定你的意思。我建议您编写一些代码来做您想做的事,然后在此处发回说明您具体尝试做的事情以及无法按您期望的方式工作的代码。
标签: java android firebase google-cloud-firestore