Skip to content Skip to sidebar Skip to footer

Getting Data From Firebase In Array In Android

I am new to Firebase. I have following data in firebase: Inside EventPlayer I have array of data for key eventID. I want to get all objects for a eventID in an Array. My code: fin

Solution 1:

Try this code. The only change is in the first few lines, with the postQuery variable.

final String eventId=intent.getStringExtra("EventID");
QuerypostQuery= mref.child("EventPlayer").child(eventId).orderByChild("eventID").equalTo(eventId);
    // Attach a listener to read the data at our posts reference
    postQuery.addValueEventListener(newValueEventListener() {
        @OverridepublicvoidonDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot child : dataSnapshot.getChildren()) {
                EventRequestpost= child.getValue(EventRequest.class);
                if(post != null){
                    System.out.println(post);
                    arrPlayers.add(post);
                }

            }
        }

        @OverridepublicvoidonCancelled(DatabaseError databaseError) {
            System.out.println("The read failed: " + databaseError.getCode());
        }
    });

Your second line of code creates a Query object, but you never assign it to anything. Assigning it to a new variable and then adding the ValueEventListener to that new variable should get you to your data.

Solution 2:

To get all those event ids, please use the following code:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference eventIdRef = rootRef.child("EventPlayer").child(eventId);
ValueEventListener eventListener = newValueEventListener() {
    @OverridepublicvoidonDataChange(DataSnapshot dataSnapshot) {
        List<String> list = newArrayList<>();
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String eventID = ds.child("eventID").getValue(String.class);
            list.add(eventID);
            Log.d("TAG", eventID);
        }
        Log.d("TAG", list);
    }

    @OverridepublicvoidonCancelled(DatabaseError databaseError) {}
};
eventIdRef.addListenerForSingleValueEvent(eventListener);

Post a Comment for "Getting Data From Firebase In Array In Android"