我在Firebase服务器上有一个列名为seen_by
Test
|
|--viewed_by: 30
在应用程序上我有一个POJO类,其成员被查看
Test.class 有成员
private int viewed_by;
当我收到数据时,在 onDataChange 函数中,我使用 getValue 函数获取Test对象
Test t = dataSnapshot.getValue(Test.class);
但我得到的值为0而不是30。
如果我将字段名称从 Viewed_by 更改为已浏览(在服务器和POJO类上),我会得到预期值(30)
这是getValue函数中的解析问题吗?或者字段名称不应该在名称中包含下划线?
答案 0 :(得分:3)
Jus想出来了,不得不将功能名称从 ViewedBy更改为Viewed_By ,以便它可以与Viewed_by字段一起使用
/**
*
* @return
* The viewed_by
*/
public int getViewed_By() {
return viewed_by;
}
/**
*
* @param viewed_by
* The viewed_by
*/
public void setViewed_By(int viewed_by) {
this.viewed_by = viewed_by;
}
答案 1 :(得分:1)
另一种选择是只在模型中使用下面的@PropertyName("property_name")
来声明属性,然后像您喜欢的那样使用getter和setter。
public class Actor {
@NonNull
@PrimaryKey
@ColumnInfo(name = "profile_id")
@PropertyName("profile_id")
private String profileId;
@ColumnInfo(name = "name")
@PropertyName("name")
private String name;
@PropertyName("profile_id")
public String getProfileId() {
return profileId;
}
@PropertyName("profile_id")
public void setProfileId(String profileId) {
this.profileId = profileId;
}
@PropertyName("name")
public String getName() {
return name;
}
}