我遵循这个tutorial并将多个图像保存到我的 firebase 数据库中:
Gallery是hashmap,我如何读取这些数据?
我的 POJO 类:
public class Tasks {
String titletask, decriptiontask, datetask, keytask, imagetask;
HashMap<String,String> gallery;
当我尝试使用此代码时:
mRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot dataSnapshot1: dataSnapshot.getChildren())
{
Tasks task = dataSnapshot1.getValue(Tasks.class);
list.add(task);
}
adapter = new TasksAdapter(getActivity(),list);
mRecyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
我有一个错误:
Failed to convert value of type java.util.HashMap to String
最佳答案
您的 Tasks
中的此字段类:
HashMap<String,String> gallery;
将转换为如下 JSON 结构:
"gallery": {
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
由于这不是您所拥有的结构,因此映射将会失败。
<小时/>要描述 JSON,您需要为每个图库项目定义一个类:
public class GalleryItem {
public String ImgLink;
}
然后:
HashMap<String,GalleryItem> gallery;
<小时/>
或者,您也可以逃脱 Object
的惩罚。 :
HashMap<String,Object> gallery;
并且(如果这确实有效)处理 gallery
中的值映射为Map<String, String>
他们自己。
关于java - 如何读取 Firebase 实时数据库中的嵌套数据( HashMap ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61655019/