Java 为FirebaseUI firestore RecyclerViews创建firestore或查询
我目前正在尝试检索特定集合中满足多字段或查询的所有文档,并用结果填充FirebaseUI Firestore RecyclerView。为此,我正在考虑两种方法: 1。任务合并 下面的示例视频使用如下所示的格式 参考4:27:Java 为FirebaseUI firestore RecyclerViews创建firestore或查询,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我目前正在尝试检索特定集合中满足多字段或查询的所有文档,并用结果填充FirebaseUI Firestore RecyclerView。为此,我正在考虑两种方法: 1。任务合并 下面的示例视频使用如下所示的格式 参考4:27: task1=notebookRef.whereLessThan(“优先级”,2) .orderBy(“优先级”) .get(); 任务task2=notebookRef.where大于(“优先级”,2) .orderBy(“优先级”) .get(); Task allTa
task1=notebookRef.whereLessThan(“优先级”,2)
.orderBy(“优先级”)
.get();
任务task2=notebookRef.where大于(“优先级”,2)
.orderBy(“优先级”)
.get();
Task allTasks=Tasks.whenAllSuccess(task1,task2);
allTasks.addOnSuccessListener(新OnSuccessListener(){
@凌驾
成功时公共无效(列出查询快照){
字符串数据=”;
用于(QuerySnapshot queryDocumentSnapshots:querySnapshots){
用于(QueryDocumentSnapshot文档快照:QueryDocumentSnapshot){
Note=documentSnapshot.toObject(Note.class);
note.setDocumentId(documentSnapshot.getId());
字符串documentId=note.getDocumentId();
String title=note.getTitle();
字符串描述=note.getDescription();
int priority=note.getPriority();
数据+=“ID:+documentId
+“\n标题:”+title+“\n说明:”+description
+“\n优先级:“+优先级+”\n\n”;
}
}
textViewData.setText(数据);
}
});
我的用例如下所示:
Task task1 = Cref.whereEqualTo("name", Keyword).orderBy("count").get();
Task task2 = Cref.whereEqualTo("venue", Keyword).orderBy("count").get();
Task<List<QuerySnapshot>> alltasks = Tasks.whenAllSuccess(task1, task2, task3);
// Query query = Cref.whereEqualTo("country", country);
FirestoreRecyclerOptions<POJO_explore_page_item> options = new
FirestoreRecyclerOptions.Builder<POJO_explore_page_item>()
.setQuery(query, POJO_explore_page_item.class).
build();
adapter = new ExplorePageAdapter(options);
RecyclerView recyclerView = getView().findViewById(R.id.explore_recycler);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(adapter);
任务task1=Cref.whereEqualTo(“name”,关键字).orderBy(“count”).get();
任务task2=Cref.whereEqualTo(“地点”,关键字).orderBy(“计数”).get();
Task alltasks=Tasks.whenAllSuccess(task1、task2、task3);
//查询=Cref.whereEqualTo(“国家”,国家);
FirestoreRecyclerOptions选项=新建
FirestoreRecyclerOptions.Builder()
.setQuery(查询,POJO\u explore\u page\u item.class)。
build();
适配器=新的ExplorePageAdapter(选项);
RecycleView RecycleView=getView().findViewById(R.id.explore\u recycler);
recyclerView.setHasFixedSize(true);
setLayoutManager(新的LinearLayoutManager(getActivity());
recyclerView.setAdapter(适配器);
我被困在setQuery()
点。所以,我的问题是如何使用FirebaseUI Firestore RecyclerViews实现合并任务
2。Firestore IN查询
这个选项将是完美的,但我找不到任何详细说明如何为多个字段构建内部查询的资源。以下是查询中的一个字段:
database.collection(“collectionName”)。其中(“fieldName”、“in”、“fieldValue1”、“fieldValue2”)代码>
事实上,这些文档似乎暗示它们只适用于一个领域:关于您对“合并任务”的疑问,请查看此帖子是否对您有所帮助。
Task task1 = Cref.whereEqualTo("name", Keyword).orderBy("count").get();
Task task2 = Cref.whereEqualTo("venue", Keyword).orderBy("count").get();
Task<List<QuerySnapshot>> alltasks = Tasks.whenAllSuccess(task1, task2, task3);
// Query query = Cref.whereEqualTo("country", country);
FirestoreRecyclerOptions<POJO_explore_page_item> options = new
FirestoreRecyclerOptions.Builder<POJO_explore_page_item>()
.setQuery(query, POJO_explore_page_item.class).
build();
adapter = new ExplorePageAdapter(options);
RecyclerView recyclerView = getView().findViewById(R.id.explore_recycler);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
recyclerView.setAdapter(adapter);