0

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

Firebase 在类上找不到要序列化的属性

Firebase 在发布模式下找不到要序列化的属性

和其他一些人。

推荐的一些解决方案是

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

但这些选项都不适合我。

我尝试的是创建另一个类,它是正在使用的类的副本,Vault然后拥有一个包含的String属性,但这似乎是重复的代码并且是不必要的。URLAsset

这个问题有解决方案吗?

4

1 回答 1

2

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

正如您所建议的那样,我建议将 Firebase 用例和 Contentful 用例之间的问题分开。

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

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

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

问候,马里奥

于 2017-09-27T09:57:35.893 回答