当前位置: 首页 > 面试题库 >

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

屠钊
2023-03-14
问题内容

我有这样的课:

class dataModel {
    String id, name;
    Integer count;

    dataModel() {}
}

我从Firebase添加数据。

mDatabase.addValueEventListener(mListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            dataSet.add(dataSnapshot.getValue(dataModel.class));
            //...
        }
});

当我以调试方式运行该应用程序时,没有问题。但是在发布后,应用程序崩溃并显示以下错误:

com.google.firebase.database.DatabaseException: No properties to serialize found on class com.my.package.dataModel

我有 minifyEnabled是 真的


问题答案:

为了解决这个问题,您的类需要实现Serializable接口:

class dataModel implements Serializable {}

您还需要添加带有三个参数的构造函数。您的课程应如下所示:

class dataModel implements Serializable {
    private String id, name;
    private Integer count;
    @ServerTimestamp
    private Date time;

    dataModel() {}

    dataModel(String id, String name, Integer count) {
        this.id = id;
        this.name = name;
        this.count = count;
    }
}

如果日期是null,它将具有服务器生成的时间戳。因此,您无需为其设置值。另请参见annotation用于标记Date要填充服务器时间戳的字段。

同样非常重要,不要忘记添加public getters

另一个要求是添加-keepclassmembers class com.yourcompany.models.** { *; }proguard-
rules.pro。

如这里所说。



 类似资料:
  • 我无法创建Firebase数据库。 我正在尝试为一个类建模。一个非常简单的类: 这几乎就像是来自火基地的样本类。 从getUser()获取的应用程序用户已登录到Firebase。 当我调用SetValue时: 会引发致命的异常。 我已经检查了类型,所有的都被接受了。发生了什么?

  • 我有一个类的数组列表,如下所示: 我想把这个列表写成Json,并尝试了以下代码: 并收到以下错误信息: 找不到类~~~~~的序列化程序,也找不到创建BeanSerializer的属性(为了避免异常,请禁用SerializationFeature.FAIL_ON_EMPTY_BEANS)(通过引用链:java.util.ArrayList[0])` 我尝试添加但由于未知原因,它使所有Person对象

  • 问题内容: 我编写了一种将实时位置数据推送到Firebase的方法: 当我在调试模式下构建应用程序时,它可以很好地工作。但是,当我在发布模式下为Google Play构建它时,它在此行停止工作: 更具体地说:当我这样做时,一切正常: 看起来好像传递了一个对象,因为签名的APK中不可能有值吗? 错误: com.google.firebase.database.DatabaseException异常:

  • 当我试图导航到一个endpoint时,我得到以下错误 类型定义错误:[简单类型,类org.hibernate.proxy.pojo.ByteBuddy.ByteBuddyInterceptor];嵌套异常为com.fasterxml.jackson.databind.exc.InvalidDefinitionException:未找到类org.hibernate.proxy.pojo.ByteBu

  • 无法编写JSON:找不到org.json.jsonObject类的序列化程序,也找不到创建BeanSerializer的属性(为了避免异常,禁用SerializationFeature.fail_on_empty_beans) UserService.getUserList():

  • 问题内容: 我尝试从协会ManyToMany中调出数据,但是我不能,这是我的代码。 实体产品: 实体终端: 类别:模块JPADao 类别:ModuleService main-flow.xml file.xhtml 我无法获得几何的价值;我得到这个错误: 问题答案: javax.el.PropertyNotFoundException:在类型org.hibernate.collection.int