为了账号安全,请及时绑定邮箱和手机立即绑定

如何处理我的数据模型类以将 Firebase Firestore 数据放入

如何处理我的数据模型类以将 Firebase Firestore 数据放入

一只斗牛犬 2022-12-15 11:21:21
我有一个像这样的 Firestore 数据库:我想访问每个不同的症状数据,即“Anxiety_data”及其由时间戳组成的子项,然后是字典,并将它们放入RecyclerView使用中FirebaseUI FirebaseRecyclerViewAdapter我有这个模型类:  public class EntryDataModel {private String timestamp, symptom, severity, comment;public EntryDataModel() {}public EntryDataModel(String timestamp, String symptom, String severity, String comment) {    this.timestamp = timestamp;    this.symptom = symptom;    this.severity = severity;    this.comment = comment;}public String getTimestamp() {return timestamp;}public String getSymptom() {return symptom;}public String getSeverity() {return severity;}public String getComment() {return comment;}}这是我的Query:Query query = db.collection("users").document(user_id).collection("symptom_data");这是Firebase RecyclerView Adapter:void fireStoreRecyclerAdapterSetup() {    FirestoreRecyclerOptions<EntryDataModel> options = new FirestoreRecyclerOptions.Builder<EntryDataModel>()            .setQuery(query, EntryDataModel.class)            .build();    FirestoreRecyclerAdapter adapter = new FirestoreRecyclerAdapter<EntryDataModel, EntryDataHolder>(options) {        @Override        public void onBindViewHolder(EntryDataHolder holder, int position, EntryDataModel model) {            // Bind the Chat object to the ChatHolder            // ...           System.out.println("Query: " + query.toString());        }       }}我不确定我应该如何设置它,以便我从每个症状数据字段中获取所有时间戳数组,并将它们全部放在一个列表中,我可以将其用于recyclerView.也许我不能使用 FirebaseUI Recycler 适配器,或者我需要先遍历每个不同的症状字段并构建 + 附加一个列表?希望我清楚我想做什么谢谢。
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

Firebase SDK 可以执行的从 Firestore 文档到 Java 对象的自动映射要求文档中的每个字段名称与 Java 类中的属性名称相匹配。它没有处理动态字段的机制,例如您示例中的时间戳。

所以你必须自己进行转换。为此,您可以使用public T get (FieldPath fieldPath, Class<T> valueType)orpublic T get (String field, Class<T> valueType)方法,它允许您从指定的特定字段中获取对象。因此,您必须遍历时间戳字段,但之后 Firebase SDK 可以将severitysymptomtimestamp属性映射到对象。


查看完整回答
反对 回复 2022-12-15
  • 1 回答
  • 0 关注
  • 80 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信