【问题标题】:Firebase database android getter for property用于属性的 Firebase 数据库 android getter
【发布时间】:2017-01-16 20:32:12
【问题描述】:

Firebase documentation for android 读作:

该类必须定义公共 getter 以使属性 分配的。没有公共 getter 的属性将被设置为 实例反序列化时的默认值

为什么在反序列化中getter需要分配属性?

【问题讨论】:

    标签: android firebase firebase-realtime-database deserialization json-deserialization


    【解决方案1】:

    firebaser 在这里

    Firebase Android SDK 中的 JSON 序列化器/反序列化器基于类的公共字段和具有 getter 和 setter 的 JavaBean 样式伪属性为类构建候选属性列表。

    我们已经讨论过后者是否应该仅基于用于序列化为 JSON 的 getter 和用于从 JSON 反序列化的 setter。但目前这将是对行为的重大改变,我们不愿意这样做。

    如果您希望对序列化/反序列化提供更广泛的支持,您可以随时使用 Jackson 来实现。在这里查看我的答案:How to deserialise a subclass in Firebase using getValue(Subclass.class)

    【讨论】:

    • '基于类的公共字段和具有 getter 和 setter 的 JavaBean 样式的伪属性的候选属性列表。所以只要它们是公开的就不需要吸气剂?
    • 没有 getter 和 setter 的公共字段也被序列化/反序列化。这是将数据输入/输出数据库的最简单方法。
    • 好的,那么文档是不是有点误导?
    • 我不完全确定我们在这里讨论的是文档的哪个部分。但如果您认为它可以/应该改进,页面右上角有一个反馈链接。请务必选择您要询问的页面部分,因为 JavaDocs 往往非常长且难以浏览。
    • 我想我明白了。在反序列化过程中,getter 并不是获取分配属性所必需的,但由于我们希望类实例既可以序列化又可以反序列化,因此建议使用它们。
    猜你喜欢
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    相关资源
    最近更新 更多