Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Firebase数据库对象映射_Android_Firebase Realtime Database - Fatal编程技术网

Android Firebase数据库对象映射

Android Firebase数据库对象映射,android,firebase-realtime-database,Android,Firebase Realtime Database,我在从Google Firebase读取时遇到以下错误 com.google.firebase.database.DatabaseException:需要一个映射 反序列化,但得到一个类java.lang.Long 我有一个模范班,就跟我们的组织一样 public class FBOrganisation { private String name; private String address; private String admin_email;

我在从Google Firebase读取时遇到以下错误

com.google.firebase.database.DatabaseException:需要一个映射 反序列化,但得到一个类java.lang.Long

我有一个模范班,就跟我们的组织一样

    public class FBOrganisation {

    private String name;
    private String address;
    private String admin_email;
    private String subscription_type;
    private Boolean is_active;
    private String state;
    private String pin_code;
    private String id;
    private Map<String, String> created_on;

    public String getAdmin_email() {
        return admin_email;
    }

    public void setAdmin_email(String admin_email) {
        this.admin_email = admin_email;
    }

    public String getSubscription_type() {
        return subscription_type;
    }

    public void setSubscription_type(String subscription_type) {
        this.subscription_type = subscription_type;
    }

    public Boolean getIs_active() {
        return is_active;
    }

    public void setIs_active(Boolean is_active) {
        this.is_active = is_active;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getPin_code() {
        return pin_code;
    }

    public void setPin_code(String pin_code) {
        this.pin_code = pin_code;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Map<String, String> getCreated_on() {
        return created_on;
    }

    public void setCreated_on(Map<String, String> created_on) {
        this.created_on = created_on;
    }

    public String getName() {
        return name;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Exclude
    public Map<String, Object> toMap() {
        HashMap<String, Object> result = new HashMap<>();
        result.put("name", name);
        result.put("address", address);
        result.put("admin_email", admin_email);
        result.put("subscription_type", subscription_type);
        result.put("is_active", is_active);
        result.put("state", state);
        result.put("pin_code", pin_code);
        result.put("id", id);
        result.put("created_on", created_on);
        return  result;
    }
}
当我试图用下面的代码读回数据时,我得到了上面提到的错误

DatabaseReference organisations = mDatabase.getReference("organisations");
        organisations.orderByChild("id").equalTo(orgId).addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                if (dataSnapshot.exists()) {
                    for(DataSnapshot singleSnapshot : dataSnapshot.getChildren()){
                        FBOrganisation anOrganisation = singleSnapshot.getValue(FBOrganisation.class);
                        Log.d("TAG15",anOrganisation.getName());
                        Log.d("TAG15",anOrganisation.getId());
                    }                
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                Log.e("TAG15", "onCancelled", databaseError.toException());
            }
        });
这是Firebase数据库的快照


您已经在上创建了
私有地图
在您的
FBO
POJO中,但创建的
包含一个长的db值

能否显示firebase数据库中的json示例谢谢@JohnO'Reilly。请看添加的屏幕截图。这就是问题所在吗@john这将给出您看到的错误,即“反序列化时需要一个映射,但得到了一个java.lang.Long类”谢谢@john。非常感谢。
DatabaseReference organisations = mDatabase.getReference("organisations");
        organisations.orderByChild("id").equalTo(orgId).addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                if (dataSnapshot.exists()) {
                    for(DataSnapshot singleSnapshot : dataSnapshot.getChildren()){
                        FBOrganisation anOrganisation = singleSnapshot.getValue(FBOrganisation.class);
                        Log.d("TAG15",anOrganisation.getName());
                        Log.d("TAG15",anOrganisation.getId());
                    }                
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                Log.e("TAG15", "onCancelled", databaseError.toException());
            }
        });