Having trouble receiving new data from firebase?

General Tech Bugs & Fixes 2 years ago

0 1 0 0 0

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Answers (1)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

Having trouble receiving new data from firebase?

 

 

 

 

 

 

 

 

 

 

 

 

 

I am running my app and adding a new child to firebase, online you can see all the child's values, but the data snapshot only gets the first value of the new child added.

we tried reading the child values each one separately, but it seems like the data snapshot doesn't even know they exist.

public static void NotifyToTripList(final NotifyDataChange<List<Trip>> notifyDataChange) {
    if (notifyDataChange != null) {
        if (tripRefChildEventListener != null) {
            notifyDataChange.onFailure(new Exception("first unNotify trip list"));
            return;
        }

        tripList.clear();
        tripRefChildEventListener = new ChildEventListener() {
            @override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {                   
                Trip t=new Trip();
                t.setTripID(dataSnapshot.getKey());
                if(dataSnapshot.child("DriverID").getValue()!=null) t.setDriverID(Long.parseLong(dataSnapshot.child("DriverID").getValue().toString()));
                else t.setDriverID(0L);
                t.setDestination(dataSnapshot.child("Destination").getValue().toString());
                t.setCurrentLocation(dataSnapshot.child("CurrentLocation").getValue().toString());
                t.setPassengerEmail(dataSnapshot.child("PassengerEmail").getValue().toString());
                t.setPassengerNumber(dataSnapshot.child("PassengerNumber").getValue().toString());
                t.setPassengerName(dataSnapshot.child("PassengerName").getValue().toString());
                SimpleDateFormat format = new SimpleDateFormat("HH:mm"); 
                tripList.add(t);
                notifyDataChange.OnDataChanged(tripList);
        }
    }
}

the code from the main menu:

FireBaseDataBase.NotifyToTripList(new FireBaseDataBase.NotifyDataChange<List<Trip>>() {
    
                                                
0 views
0 shares

No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

Similar Forum