【问题标题】:Not able to retrieve value in firebase database无法在 Firebase 数据库中检索值
【发布时间】:2018-04-17 19:19:39
【问题描述】:

我在 android 中使用 firebase 来保存和检索用户信息。 我从 firebase 数据库中获取值,但它没有转换为我的 POJO 类

UserInformation.java

public class UserInformation {
private String phoneNo;
private String address;


public UserInformation() {
}

public UserInformation(String address, String phoneNo) {
    this.phoneNo = phoneNo;
    this.address = address;
}

public String getPhoneNo() {
    return phoneNo;
}

public String getAddress() {
    return address;
 }
}

值事件监听器

 public ValueEventListener displayUserData() {
    return new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if (dataSnapshot.exists()) {
                UserInformation userInformation = 
                dataSnapshot.getValue(UserInformation.class);
                mEtAddress.setText(userInformation.getAddress());
                mEtPhoneNo.setText(userInformation.getPhoneNo());
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    };
}

数据快照未转换为 UserInformation.class。我得到了所有的空值。

【问题讨论】:

  • 您是否尝试将 setter 添加到 POJO?
  • 您能否更新您的问题以显示您如何附加您的听众?

标签: android firebase-realtime-database


【解决方案1】:

您似乎将侦听器附加到 JSON 树中 UserInformation 节点的上一层。在这种情况下,结果包含一个带有 列表 个快照的快照。即使只有一个快照,您的代码也需要处理它是一个列表这一事实。

public ValueEventListener displayUserData() {
    return new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
                UserInformation userInformation = 
                userSnapshot.getValue(UserInformation.class);
                mEtAddress.setText(userInformation.getAddress());
                mEtPhoneNo.setText(userInformation.getPhoneNo());
            }
        }

【讨论】:

    猜你喜欢
    • 2018-07-09
    • 1970-01-01
    • 2018-09-04
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多