我有一个用户端和一个业务端android应用程序连接到相同的Firestore数据库。 在两个应用程序中,我都显示了由10个复选框组成的相同表单。在业务端应用程序中,复选框的结果存储在业务供应商的用户配置文件中。如果假设他已选中1,3,7,9框。并且客户通过选中框3和7进行查询,他必须查看已选中1,3,7,9的供应商资料。我该如何实现?
我设法添加了供应商复选框数据,如下所示:
Map<String,Object> map=new HashMap<>();
map.put("item 1",item1.isChecked()); //IS CHECKED IS WORKING!!
map.put("item 2",item2.isChecked());
map.put("item 3",item3.isChecked());
map.put("item 4",item4.isChecked());
map.put("item 5",item5.isChecked());
map.put("item 6",item6.isChecked());
map.put("item 7",item7.isChecked());
map.put("item 8",item8.isChecked());
map.put("item 9",item9.isChecked());
map.put("item 10",item10.isChecked());
String userId = FirebaseAuth.getInstance().getCurrentUser().getUid();
CollectionReference collectionReference=db.collection("vendorUsers");
collectionReference.document(userId).collection("vendorAbility").add(map)
.addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
@Override
public void onSuccess(DocumentReference documentReference) {
//success
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
由于item1.isChecked()是布尔值,因此我可以将供应商数据存储在Firestore中,例如:
item1:true
item2:false
item3:true
item4:false
item5:false
item6:false
item7:true
item8:false
item9:true
item10:false
我得到这个数据时复选框1,3,7,9进行检查。 关于如何查询此数据的任何见解都会很有帮助
编辑:获取供应商数据可能不是问题。问题是如何使用Checkbox的用户输入从客户端进行查询