【问题标题】:Retrieve firebase hashmap data in POJO在 POJO 中检索 firebase hashmap 数据
【发布时间】:2016-04-27 08:07:43
【问题描述】:

我使用ArrayList 将数据存储在Firebase 上。它存储为HashMap,键值从0 开始,其值存储为字符串。

数据库如下:

我正在使用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。我已经尝试了几个帖子,但无法帮助它。尝试将图像的声明更改为字符串,仍然无法正常工作。请帮忙!

【问题讨论】:

  • 您在问题中包含了指向 JSON 树图片的链接。请将其替换为实际的 JSON 作为文本,您可以通过单击 Firebase 数据库中的导出按钮轻松获取该文本。将 JSON 作为文本使其可搜索,让我们可以轻松地使用它来测试您的实际数据并在我们的答案中使用它,总的来说这只是一件好事。
  • “无法弹回输入”有一个“caused by”子句,可以告诉您问题的原因。

标签: java android hashmap firebase pojo


【解决方案1】:

问题出在 Hashmap 声明中。最初将其声明为

Hasmap<Object, Object> images;

在 POJO 中不起作用,但经过数小时的反复试验,我删除了 POJO 并重新启动了系统。当我重新创建 POJO 文件时,我将 Hashmap 声明为:

Hashmap images;

【讨论】:

    【解决方案2】:

    试试这个解决方案:

    //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); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多