【问题标题】:No properties to serialize found on class com.contentful.vault.Asset在类 com.contentful.vault.Asset 上找不到要序列化的属性
【发布时间】:2018-03-08 16:59:29
【问题描述】:

尝试在具有Asset 属性的Firebase 数据库上保存对象时遇到此错误。 以下问题中记录了类似的错误:

Firebase No properties to serialize found on class

Firebase No properties to serialize found with object in release mode

还有一些其他的。

推荐的一些解决方案是

  1. 将变量声明更改为公共
  2. 在类声明中添加@Keep
  3. 在 Proguard 规则中添加 -keepclassmembers class com.yourcompany.models.** { *; }

但这些选项都不适合我。

我尝试的是创建另一个类,它是用于 Vault 的类的副本,然后拥有一个 String 属性,该属性包含 Asset 的 URL 但这似乎是重复代码和不必要的。

这个问题有解决办法吗?

【问题讨论】:

    标签: java android firebase-realtime-database contentful contentful-vault


    【解决方案1】:

    我是 Mario Bodemann,是 Contentful 的 Java 和 Android SDK 的维护者。

    我建议按照您的建议将 Firebase 用例和 Contentful 用例之间的关注点分开。

    通过这种方式,您可以确保为 Firebase 提供它需要的模型,并为 Contentful 提供它需要的模型,而不会混合使用两者。我不认为它是重复代码,您是在重复数据。对于不同的用例应该没问题。

    可能有些工厂根据需要从一种形式转换为另一种形式也很方便。

    否则,如果您可以在一个应用中分享更多关于您使用这两种方法的信息,我们可以为您提供更多帮助...

    您好, 马里奥

    【讨论】:

    • 谢谢马里奥,我想我会坚持为 Contentful 和 Firebase 设置单独的类。
    猜你喜欢
    • 2019-05-17
    • 2016-10-11
    • 2018-02-25
    • 2017-04-03
    • 1970-01-01
    • 2018-08-01
    • 2019-07-17
    • 2020-05-07
    相关资源
    最近更新 更多