Android 从Firestore文档中逐行设置字段是否为反模式?

Android 从Firestore文档中逐行设置字段是否为反模式?,android,google-cloud-firestore,Android,Google Cloud Firestore,我在Firestore上有一个文档,我从中读取了片段中的字段。因为它有很多字段,所以我在承载该片段的活动中设置了变量,以便在其他片段之间传递数据。为了实现这一点,我意识到我必须一次又一次地编写类似的代码行,这让我思考是否有更好的方法。 我想到了两种可能的解决方案: 以JSON格式构造所有这些字段->某些不适合Firestore文档系统的内容 将所有这些字段放入一个可序列化的数据类中,我将其保存在活动中,然后将其传递给片段束->似乎很复杂,我仍然需要将其写入。get(foo)作为该类构造函数中

我在Firestore上有一个文档,我从中读取了片段中的字段。因为它有很多字段,所以我在承载该片段的活动中设置了变量,以便在其他片段之间传递数据。为了实现这一点,我意识到我必须一次又一次地编写类似的代码行,这让我思考是否有更好的方法。

我想到了两种可能的解决方案:

  • 以JSON格式构造所有这些字段->某些不适合Firestore文档系统的内容
  • 将所有这些字段放入一个可序列化的数据类中,我将其保存在活动中,然后将其传递给片段束->似乎很复杂,我仍然需要将其写入。get(foo)作为该类构造函数中每个字段的bar

考虑到所有这些,最好的方法是什么?提前感谢。

关于如何实现这一点,您有多种选择。没有什么东西比另一个更好。最终,你会选择一个最适合你的需求和偏好的

  • 你可以做你现在正在做的事
  • 您可以更进一步,实际检查值的类型,而不是盲目地强制转换它们(如果它们不匹配,则会在运行时导致崩溃)
  • 您可以向提供一个类对象,该对象可以自动将字段映射到类型为T的新对象中的属性,只要这些类型也匹配
  • 您可以调用各种类型特定的get版本,例如
  • 最终,您必须决定是信任快照中的内容并允许错误发生,还是不信任任何内容并检查所有内容。这取决于你