【问题标题】:Firebase ClassMapper ignoring provided settersFirebase ClassMapper 忽略提供的设置器
【发布时间】:2017-05-24 22:12:49
【问题描述】:

我正在尝试将 Firebase 实时数据库映射到 Android 上的 Java 类。我映射到的类如下所示:

public class Thing {
    private String mName;
    private String mDescription;

    public void setName(String name) {
        this.mName = name;
    }

    public void setDescription(String description) {
        this.mDescription = description;
    }
}

这将传递给 Firebase 的 .getValue()

dataSnapshot.getValue(Thing.class);

但这会记录 ClassMapper 警告并且没有设置值:

W/ClassMapper:在类 com.example.android.demo.Thing 上找不到名称的设置器/字段 W/ClassMapper:在类 com.example.android.demo.Thing 上找不到描述的设置器/字段

为什么会忽略为这些字段提供的设置器?

【问题讨论】:

  • 感谢弗兰克,修复了我讨厌的标签!

标签: android firebase firebase-realtime-database


【解决方案1】:

此处显示的问题是一条误导性的日志消息。 ClassMapper 不会使用 setter,除非有匹配的 getter:

public class Thing {
    private String mName;
    private String mDescription;

    public void setName(String name) {
        this.mName = name;
    }

    public String getName() {
        return this.mName;
    }

    public void setDescription(String description) {
        this.mDescription = description;
    }

    public String getDescription() {
        return this.mDescription;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-22
    • 2011-03-24
    • 2020-10-05
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    相关资源
    最近更新 更多