- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的应用中使用 Firestore。当我从该数据库获取数据时,我将数据获取到 documentSnapShot
对象中,但是当我将 documentSnapShot
转换为自定义对象时,它会被初始化,但其中不包含任何数据.
我的 Firebase Firestore 数据库:
我的 POJO 类(class):FirebaseData 类
public class FirebaseData {
private List<Group> group = null;
/**
* No args constructor for use in serialization
*
*/
public FirebaseData() {
}
/**
*
* @param group
*/
public FirebaseData(List<Group> group) {
super();
this.group = group;
}
public List<Group> getGroup() {
return group;
}
public void setGroup(List<Group> group) {
this.group = group;
}
}
类(class)组
public class Group {
private String name;
private List<Sticker> stickers = null;
private Integer id;
/**
* No args constructor for use in serialization
*
*/
public Group() {
}
/**
*
* @param name
* @param stickers
* @param id
*/
public Group(String name, List<Sticker> stickers, Integer id) {
super();
this.name = name;
this.stickers = stickers;
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Sticker> getStickers() {
return stickers;
}
public void setStickers(List<Sticker> stickers) {
this.stickers = stickers;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
类(class)贴纸
public class Sticker {
private String name;
private String id;
/**
* No args constructor for use in serialization
*
*/
public Sticker() {
}
/**
*
* @param name
* @param id
*/
public Sticker(String name, String id) {
super();
this.name = name;
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
MainActivity 类:
db.collection("PackGroups").document("1").get()
.addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
Log.d("TAG : firebase" ,"onSuccess: "+documentSnapshot.getData());
FirebaseData firebaseData = documentSnapshot.toObject(FirebaseData.class );
recyclerView.setAdapter(new AdapterGroupPack(MainActivity.this, firebaseData.getGroup()));
recyclerView.getAdapter().notifyDataSetChanged();
}
});
最佳答案
您代码中的问题是List<Group> group
提交已在您的 FirebaseData
中声明类以小写字母开头,而在数据库中以大写字母(组)开头。为了使其正常工作,两个名称必须匹配。要解决此问题,您可以更改数据库中该数组的名称以小写字母开头,或者在 getter 前面添加以下注释:
@PropertyName("Group")
public List<Group> getGroup() {
return group;
}
关于java - 在 documentSnapShot 中获取值,但将其转换为对象时,对象返回 null,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60862606/
一个自定义对象,其参数为(DocumentSnapShot documentsnapShot)。也是来自 Firebase 的一个内部对象,它检索快照并将值设置为我的自定义模型也有它的参数(Docum
我正在尝试根据用户是否参加调查来显示特定的图标。 目前,我正在使用StreamBuilder侦听文档中的给定值,该文档返回调查名称。然后,我想在下一个StreamBuilder中使用调查名称,该名称将
采用 (DocumentSnapShot DocumentsnapShot) 参数的自定义对象。也是来自 Firebase 的内部对象,它检索快照并将值设置为我的自定义模型也有其参数(Document
采用 (DocumentSnapShot DocumentsnapShot) 参数的自定义对象。也是来自 Firebase 的内部对象,它检索快照并将值设置为我的自定义模型也有其参数(Document
采用 (DocumentSnapShot DocumentsnapShot) 参数的自定义对象。也是来自 Firebase 的内部对象,它检索快照并将值设置为我的自定义模型也有其参数(Document
采用 (DocumentSnapShot DocumentsnapShot) 参数的自定义对象。也是来自 Firebase 的内部对象,它检索快照并将值设置为我的自定义模型也有其参数(Document
采用 (DocumentSnapShot DocumentsnapShot) 参数的自定义对象。也是来自 Firebase 的内部对象,它检索快照并将值设置为我的自定义模型也有其参数(Document
采用 (DocumentSnapShot DocumentsnapShot) 参数的自定义对象。也是来自 Firebase 的内部对象,它检索快照并将值设置为我的自定义模型也有其参数(Document
采用 (DocumentSnapShot DocumentsnapShot) 参数的自定义对象。也是来自 Firebase 的内部对象,它检索快照并将值设置为我的自定义模型也有其参数(Document
采用 (DocumentSnapShot DocumentsnapShot) 参数的自定义对象。也是来自 Firebase 的内部对象,它检索快照并将值设置为我的自定义模型也有其参数(Document
采用 (DocumentSnapShot DocumentsnapShot) 参数的自定义对象。也是来自 Firebase 的内部对象,它检索快照并将值设置为我的自定义模型也有其参数(Document
我使用 Firestore 并有一个带有字段的集合。该字段有多个字符串值: 字段:名称 0:“姓名 1” 1:“姓名 2” 2:“姓名 3” 与 let documentData = document
我想从文档“list_of_clients”中读取每个对象列表并将其导出到我创建的自定义列表 在实时数据库中有一个函数叫做 GenericTypeIndicator 这可以帮助您获取值,这与我想要的类
首先我看到了答案: here但对来自 android 和 angular 的我来说,不得不写这么多代码(在 android 和 angular 中需要一行)加上答案不是最新的,所以想知道现在是否有更好
我正在尝试检查我的 documentSnapshot 中是否存在字段。 我的代码: document.data.containsKey('field_name') 但我得到了: error: The
我无法使用属性 data()在文档快照上。它在控制台中给了我一个错误。这是确切的错误: auth.service.ts(72,20): error TS2339: Property 'data' do
我是刚开始遇到火灾或 flutter 朔迷离的人,我想知道关于读写操作的某些事情 如果在StreamBuilder中我们将DocumentSnapshots列表存储在这样的变量中,final even
我一直在尝试从/ users集合中获取文档数据, 但是问题是我声明了de builder之后: 这是FutureBuiulder的必需参数,数据未通过它,并且我得到data = null。 我究竟做错
我正在组合两个查询来对 Firestore 集合执行“不等于”查询,这在 Firestore 中 native 不可能实现,因此我必须在本地执行此操作。我需要获取组合任务的最后一个可见文档以用于分页。
如何获取 Firestore 中文档的 ID? final String PostKey = db.collection("Anuncio").document().getId(); 我正在尝试这种方
我是一名优秀的程序员,十分优秀!