Skip to content Skip to sidebar Skip to footer

Retrive Data From Firebase

I'm new to android developing. I tried retrieving data from firebase. which worked . but I'm unable to filter unique identifier from database results . FirebaseDatabase datab

Solution 1:

I figured the answer. If anyone has same issue use "child event listener "

FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference myref = database.getReference("user_foods");
    myref.addChildEventListener(newChildEventListener() {
        @OverridepublicvoidonChildAdded(DataSnapshot dataSnapshot, String s) {
            Log.d("foods",dataSnapshot.getValue().toString());

        }

        @OverridepublicvoidonChildChanged(DataSnapshot dataSnapshot, String s) {

        }

        @OverridepublicvoidonChildRemoved(DataSnapshot dataSnapshot) {

        }

        @OverridepublicvoidonChildMoved(DataSnapshot dataSnapshot, String s) {

        }

        @OverridepublicvoidonCancelled(DatabaseError databaseError) {

        }
    });

Solution 2:

Try this:

FirebaseDatabasedatabase= FirebaseDatabase.getInstance();
        DatabaseReferencemyref= database.getReference("user_foods");
        myref.addListenerForSingleValueEvent(newValueEventListener() {
            @OverridepublicvoidonDataChange(DataSnapshot dataSnapshot) {
              for (DataSnapshot snap: dataSnapshot.getChildren()) {
                Log.d('foods',dataSnapshot.child('food').getValue().toString());
              }
            }

            @OverridepublicvoidonCancelled(DatabaseError databaseError) {

            }
        });

adding child() to your reference you can access an specific key in your tree. But as Frank suggests try using a POJO class to retrieve all your data from Firebase

edited: sorry i forgot you had many children, you need to make for (DataSnapshot snap: dataSnapshot.getChildren()) {//code} when your have many children in your node

Post a Comment for "Retrive Data From Firebase"