首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在firebase android中Pojo脱敏是不同的行为。

在firebase android中Pojo脱敏是不同的行为。
EN

Stack Overflow用户
提问于 2016-06-15 06:37:31
回答 1查看 62关注 0票数 0

这是我的儿子

代码语言:javascript
运行
复制
{
    "profile_min_salary": 10000,
    "profile_requirement_checklist": "Excel Aana Chahiye.",
    "tags": "central,12th pass,thoda english,good english,fluent      
         english,male,fresher,female"
}

这是我的模型

代码语言:javascript
运行
复制
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY,
    getterVisibility = JsonAutoDetect.Visibility.NONE,
    setterVisibility = JsonAutoDetect.Visibility.NONE)
    @JsonIgnoreProperties(ignoreUnknown = true)'

public class Job {

    @JsonProperty("profile_min_salary")
    private Integer profileMinSalary;

     @JsonProperty("profile_requirement_checklist")
    private String profileRequirementChecklist;

     @JsonProperty("tags")
    private String tags;

     public String getTags() {
        return tags;
    }

    public Integer getProfileMinSalary() {
        return profileMinSalary;
    }


    public void setProfileMinSalary(Integer profileMinSalary) {
        this.profileMinSalary = profileMinSalary;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }


    public String getProfileRequirementChecklist() {
        return profileRequirementChecklist;
    }

    public void setProfileRequirementChecklist(String profileRequirementChecklist) {
        this.profileRequirementChecklist = profileRequirementChecklist;
    }
}

这是我的防火代码片段

代码语言:javascript
运行
复制
@Override
public void onChildAdded(final DataSnapshot dataSnapshot, String previousChildName) {

    new Thread(new Runnable() {
        @Override
        public void run() {
            try {

                Job job = dataSnapshot.getValue(Job.class);
                doOperationOnJob(job);
            } catch (Exception e) {
                Log.e(TAG, e.getMessage(), e);
                Crashlytics.logException(e);
            }
        }
    }).start();
}

但是我的类只获取标记参数,否则是空的,为什么?

--如果我这样写的话,它运行得很好,

代码语言:javascript
运行
复制
 @Override
 public void onChildAdded(final DataSnapshot dataSnapshot, String previousChildName) {

        new Thread(new Runnable() {
            @Override
            public void run() {
                try {

                    String jsonData = new ObjectMapper().writeValueAsString(dataSnapshot.getValue());
       Job job= new ObjectMapper().readValue(jsonData , Job.class);
       doOperationOnJob(job);

                } catch (Exception e) {
                    Log.e(TAG, e.getMessage(), e);
                    Crashlytics.logException(e);
                }
            }
        }).start();
    }

在第一个场景中,我应该修改代码以使其工作吗??我被卡住了。

EN

回答 1

Stack Overflow用户

发布于 2016-06-15 06:45:06

在模型中进行以下更改以正确使用Firebase。

代码语言:javascript
运行
复制
private Integer profile_min_salary;
private String profile_requirement_checklist;
private String tags;

如果属性名称相同,实际上不需要将@JsonProperty注释设置为使用Firebase。

所以简单地说你的POJO看起来像这样

代码语言:javascript
运行
复制
public class Job {
    public Integer profile_min_salary;
    public String profile_requirement_checklist;
    public String tags;
}

在声明了所有变量public之后,只需创建一个Job类的实例(例如Job mJob = new Job();),然后创建mJob.profile_min_salary,就可以得到这些变量

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37827797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档