2

I have a firebase database I am using with Android.

To Retrieve and show data from Firebase, I am using FirebaseRecyclerAdapter and results are displayed to CardView.

Now I am getting all listings from my required table to CardView. Every Node has an automatically generated value as shown in the image below.

enter image description here

How do I retrieve this value in Android when I click on respective CardView. I'll need this value for further database operations.

Now, I tried some of the methods posted here as well as online forums but nothing seems to work. I am not asking for complete code, just how to do it? Some reference code would be great.

Regards

Mahadev
  • 856
  • 1
  • 17
  • 44

1 Answers1

2

To get the node id try the following:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
Query query = rootRef.child("Projects");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
             String key = ds.getKey();
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage());
    }
};
query.addListenerForSingleValueEvent(valueEventListener);

First, add a reference to node Projects then loop inside of it and retrieve the id using getKey().

Peter Haddad
  • 78,874
  • 25
  • 140
  • 134
  • Yeah, Thanks. That worked. Now I only have to modify a query for sorting results. That I'll do. – Mahadev May 19 '19 at 16:45