我有一个像这样的 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 可以将severity
、symptom
和timestamp
属性映射到对象。
添加回答
举报
0/150
提交
取消