首页 > 解决方案 > 如何从子键中获取值并根据其他子键中的键

问题描述

我想提供用户最近查看数据库中项目的历史记录,谁能帮我解决这个问题?

我想检查历史儿童是否有钥匙并显示汽车儿童的钥匙数据我希望你能理解任何帮助将不胜感激。

以下是数据库外观的链接。

这是尝试过的:

 private void recent(String data) {

    Query query = Dataref.orderByChild("CarName").startAt(data).endAt(data + "\uf8ff");
    DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Car");
    String userId = databaseReference.push().getKey();

    Query databaseReference2 = FirebaseDatabase.getInstance().getReference("users").child("history").equalTo(databaseReference.getKey());
    DatabaseReference databaseReference1 = FirebaseDatabase.getInstance().getReference("Car");

    if (databaseReference2 != null) {


        options = new FirebaseRecyclerOptions.Builder<Car>().setQuery(query, Car.class).build();
        adapter2 = new FirebaseRecyclerAdapter<Car, recentViewHolder>(options) {
            @NonNull
            @Override
            public recentViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

                View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.history_view, parent, false);
                return new recentViewHolder(v);


            }

            @Override
            protected void onBindViewHolder(@NonNull recentViewHolder holder, final int position, @NonNull Car model) {
                holder.textView.setText(model.getCarName());
                Picasso.get().load(model.getImageUrl()).into(holder.imageView);
                holder.v.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent(HomeActivity.this, ViewActivity.class);
                        intent.putExtra("CarKey", getRef(position).getKey());

                        startActivity(intent);


                    }
                });


                adapter.startListening();
                recent.setAdapter(adapter);


            }


        };


    }
}

数据库

标签: javaandroidfirebase-realtime-database

解决方案


我找到了一个类似于我所问的帖子的答案,我们可以通过 orderbykey.equalto() 从其他孩子那里获取密钥


推荐阅读