2016-04-27 85 views
0

我用ArrayListFirebase上存储数据。它存储为HashMap,key值从0开始,其值存储为字符串。在POJO中检索firebase hashmap数据

数据库如下:

enter image description here

我使用POJO,存储和检索数据。

POJO定义如下:

@JsonIgnoreProperties(ignoreUnknown = true) 
public class POJO_MemoriesRVDisplay { 
    String mem_name; 
    String mem_place_street_address; 
    HashMap<Object,Object> images; 

    public POJO_MemoriesRVDisplay() { 
    } 

    public HashMap<Object, Object> getImages() { 
     return images; 
    } 

    public void setImages(HashMap<Object, Object> images) { 
     this.images = images; 
    } 

    public POJO_MemoriesRVDisplay(String mem_name, String mem_place_street_address, HashMap<Object, Object> images) { 
     this.mem_name = mem_name; 
     this.mem_place_street_address = mem_place_street_address; 
     this.images = images; 
    } 

    public String getMem_name() { 
     return mem_name; 
    } 

    public void setMem_name(String mem_name) { 
     this.mem_name = mem_name; 
    } 

    public String getMem_place_street_address() { 
     return mem_place_street_address; 
    } 

    public void setMem_place_street_address(String mem_place_street_address) { 
     this.mem_place_street_address = mem_place_street_address; 
    } 
} 

当我运行这段代码,我得到一个错误,如:

Failed to bounce to type 

如何正确申报POJO。我尝试了几个帖子,但无法帮助它。试图改变图像的声明到字符串,仍然无法正常工作。请帮忙!

+0

您已经在您的问题中包含指向JSON树图片的链接。请将实际的JSON替换为文本,您可以通过点击Firebase数据库中的导出按钮轻松获取该文本。将JSON作为文本可以搜索,使我们能够轻松使用它来测试您的实际数据,并将其用于我们的答案中,并且通常只是一件好事。 –

+0

“无法弹出键入”有一个“引起”子句,它会告诉您问题的原因。 –

回答

0

尝试这种解决方案:

//First create your object  
POJO_MemoriesRVDisplay pojo = new POJO_MemoriesRVDisplay("School", "12345", Your hashmap); 

//Create your reference where you want to store your data  
private DatabaseReference root = FirebaseDatabase.getInstance().getReference(); 

//Save your data 
root.push().setValue(pojo); 
1

问题是HashMap的宣言英寸最初声明为

Hasmap<Object, Object> images; 

在POJO没有工作,但试验和错误小时后我删除了POJO,并重新启动系统。当我重新创建POJO文件时,我将Hashmap声明为:

Hashmap images;