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

我有一个像这样的 Firestore 数据库:

http://img.mukewang.com/639a92ca0001ec6108990513.jpg

我想访问每个不同的症状数据,即“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 适配器,或者我需要先遍历每个不同的症状字段并构建 + 附加一个列表?希望我清楚我想做什么谢谢。


一只斗牛犬
浏览 81回答 1
1回答

隔江千里

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属性映射到对象。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java