【发布时间】:2017-05-17 21:16:07
【问题描述】:
我想在 Recycler 视图中显示 city="Varanasi" 和 gender="Male" 和薪水在 5000 到 15000 之间的所有工人姓名。 在这种情况下,必须显示显示的工人的姓名。 必须应用什么查询以及应该如何实现?
【问题讨论】:
标签: android firebase firebase-realtime-database
我想在 Recycler 视图中显示 city="Varanasi" 和 gender="Male" 和薪水在 5000 到 15000 之间的所有工人姓名。 在这种情况下,必须显示显示的工人的姓名。 必须应用什么查询以及应该如何实现?
【问题讨论】:
标签: android firebase firebase-realtime-database
首先,我认为你需要用双倍值保存薪水,而不是字符串。
您需要您在工作节点上的引用,然后添加一个侦听器并迭代这些值。您还需要一个工人阶级来获取数据。
yourReference.orderByChild("city").equalTo("Varanasi").addListenerForSingleValueEvent(){
@Override
public void onDataChange(Datasnapshot data){
for(Datasnapshot d: data.getChildren()){
yourClass work = d.getValue(yourClass.class);
if(work.getGender().equals("Male"){
double salary = work.getSalary();
if(salary > 5000 && salary < 15000){
//save the worker into a list.
}
}
}
}
}
}
【讨论】:
根据本教程,The Firebase Database For SQL Developers 您可以为每个节点创建一个新字段,命名为:city_gender。对于您的特定示例,此字段的值将是 Varanasi_Male。它应该是这样的:
city_gender:“瓦拉纳西男”
通过这种方式,您可以查询您的 Firebase 数据库中的每个 male 并在 Varanasi 工作的工作人员。以同样的方式,您可以在间隔中实现这一点。
希望对你有帮助。
【讨论】: