Jhayar
Jhayar

Reputation: 1

How to get all users from firebase database that send friend request

I want to retrieve all the users that have 'request_type: receive' only. How I gonna do that in the android studio? It's for the chat app for request fragment. I want to display in RecyclerView all friend request only.

Image

Upvotes: 0

Views: 1052

Answers (2)

Alex Mamo
Alex Mamo

Reputation: 138969

To solve this, you need to loop through your Friend_req node using getChildren() method twice:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference ref = rootRef.child("Friend_req");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot dSnapshot : dataSnapshot.getChildren()) {
            for(DataSnapshot ds : dSnapshot.getChildren()) {
                String requestType = ds.child("request_type").getValue(String.class);
                if(requestType.equals("receive")) {
                    Log.d("TAG", "Request received!");
                }
            }
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
ref.addListenerForSingleValueEvent(valueEventListener);

Upvotes: 0

Gourango Sutradhar
Gourango Sutradhar

Reputation: 1619

Check out The query below. It can help you.

Query query = FirebaseDatabase.getInstance().getReference().child("Friend_req").orderByChild("request_type").equalTo("received");
    query.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            // Do your job
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

Upvotes: 1

Related Questions