我想从firebase实时数据库中获取Item对象。每件事情都很好,但图像列表返回null。android.return从firebase列表对象
回答
假设你有一些类项目与您现在使用这个类火力映射和上传以下数据成员
public class Item {
@SerializedName("name")
@Expose
private String name;
@SerializedName("images")
@Expose
private List<String> images;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<String> getImages() {
return images;
}
public void setImages(List<String> images) {
this.images = images;
}
}
。 让我们上传我们的Item类成员作为键值对。
mDatabase.push().setValue(getItemReady(), new DatabaseReference.CompletionListener() {
@Override
public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
if (databaseError == null) {
makeToast("One entry created successfully");
} else {
//data creation failed, handle it here
}
}
});
private Item getItemReady() {
List<String> images = new ArrayList<>();
images.add("https://i.stack.imgur.com/TWkC2.png");
Item mItem = new Item();
mItem.setName("mutee aljabri");
mItem.setImages(images);
return mItem;
}
上面的调用将POJO映射到json,就像下面的firebase一样。
{
"name":"mutee aljabri",
"images"
"0":"https://i.stack.imgur.com/TWkC2.png"
}
如果这是真的,那么我们正在做的是正确的,所以现在让解析回在客户端上的请求。
private void getDataFirebase() {
//get fresh data here
ValueEventListener listener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d(TAG, "load items : onDataChanged() " + dataSnapshot.getKey());
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
//here it will parse every Item you have pushed to firebase
Item item = snapshot.getValue(Item.class);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Getting data failed, log a message
Log.d(TAG, "load events : onCancelled", databaseError.toException());
}
};
mDatabase.addListenerForSingleValueEvent(listener);
}
我希望你做得非常接近我在做什么。
它需要在POJO类中添加注释(Item) –
我想在FireBaseRecyclerViewAdpter中使用图像来显示项目 –
否,注释在大小写中不需要的火力基地。这些是为了防止我们使用GSON来解析json。上面只是一种将数据存储在firebase中的方法,它可以是任何图像或字符串。 –
- 1. Firebase列表与对象
- 2. 将对象列表添加到Firebase
- 3. 从对象列表
- 4. 从Firebase获取对象(Json)
- 5. 从对象列表填充列表框
- 6. 提取对象从列表
- 7. 删除对象从列表
- 8. 从对象列表中获取Activerecord关联对象列表
- 9. 从Firebase中恢复列表
- 10. 从firebase检索列表
- 11. 从Firebase获取列表
- 12. 从coeftest对象列表中提取列
- 13. 从动态表创建对象列表
- 14. 使用LINQ从另一个(对象)列表中删除匹配列表(的对象)匹配列表(对象)
- 15. 列表对象
- 16. 具有对象列表的对象列表对象列表Linq to Entities
- 17. Firebase getValue(Class.class)对象
- 18. AngularFire - Firebase对象undefined
- 19. 如何从Firebase中读取对象?
- 20. 如何从对象中获取值Firebase
- 21. 从Firebase数据库读取数据列表时出现空模型对象
- 22. Android - 如何从Firebase的插入顺序中检索对象列表?
- 23. 查询具有对象值的Firebase列表
- 24. Android Firebase数据库将对象添加到列表
- 25. Javascript列表对象无法添加JSON? Node.JS,Firebase
- 26. Firebase安全规则保护列表和公共对象
- 27. Angular + Firebase:如何使用列表属性存储/检索对象?
- 28. 从表对象
- 29. Firebase对象是否可以指向其他Firebase对象
- 30. 对列表对象排序列表
我认为你必须仔细观察你的pojo类和json的firebase,可能这些项目不是很好解析 –
不要发布一个链接到代码的图像。相反,请编辑您的问题以包含[重现问题所需的最低代码](http://stackoverflow.com/help/mcve)(请阅读链接,它提供了有关如何创建此类MCVE的信息,为什么它很有用, 以及更多)。 –
iam beginer in stackoverflow –