java - 如何在带有 firebase 的 android studio 中使用多个过滤器

标签 java android firebase firebase-realtime-database

我想使用多个过滤器,例如 SELECT * table_name WHERE age=20 && country = UK && weight=60在 Firebase 数据库中。

我的代码:

 private void loadListFood(String catagoryId) {
    adapter=new FirebaseRecyclerAdapter<Food, FoodViewHolder>(Food.class,
            R.layout.food_item,
            FoodViewHolder.class,

            foodList.orderByChild("menuId").equalTo(catagoryId)

    ) {
        @Override
        protected void populateViewHolder(FoodViewHolder foodViewHolder, Food food, int i) {
            foodViewHolder.food_name.setText(food.getName());
            Picasso.with(getBaseContext()).load(food.getImage())
                    .into(foodViewHolder.food_image);

            final Food local=food;
            foodViewHolder.setItemClickListener(new ItemClickListner() {
                @Override
                public void onClick(View view, int position, boolean isLongClick) {
                    //Toast.makeText(FoodList.this, ""+local.getName(), Toast.LENGTH_SHORT).show();
                    Intent foodDetail = new Intent(FoodList.this,FoodDetail.class);
                    String FoodID=adapter.getRef(position).getKey().toString();
                    foodDetail.putExtra("FoodId",FoodID);
                    startActivity(foodDetail);


                }
            });

        }
    };

    recyclerView.setAdapter(adapter);
}

所以我想从 firebase 数据库加载 menuID = CategoryID 和 status==available 项目到 recyclerview

最佳答案

在实时数据库中,不能使用AND查询。相反,您可以将这些属性合并为一个属性:

Users
  randomId
       age :20
       country: UK
       weight : 60
       age_country_weight : 20_UK_60

然后你可以这样做:

foodList.orderByChild("age_country_weight").equalTo("20_UK_60")

关于java - 如何在带有 firebase 的 android studio 中使用多个过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61207736/

相关文章:

java - 可打包输入流

android - Facebook 字符串没有默认翻译

javascript - 使用AngularJS select选择两组信息

javascript - 如何在 Firestore 中创建具有可靠时间戳的文档?

Java SSL 握手失败

java - 如何使任何 pdf 文件中的水印文本不可选择?

android - 当应用程序处于前台时,GCM 3.0 通知有效负载不显示 android 通知

javascript - 使用 Firebase API 登录时出现超时错误

java - 为什么没有收到另一个http请求?

java - 如何在具有 void 方法的类中使用 spring @autowired 注解?