This is simple method for reading long value from one child in my database.
The same method also gives me null for pojo.
What am I doing wrong ??? Why OnDataChanged() is skipped?
(Path to child : UserData/DeviceMgmt/Average:)
here is the code:
public class DevicesUtil {
public final static FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
public final static DatabaseReference dbRefUserData = firebaseDatabase.getReference("UserData");
public final static DatabaseReference dbRefUsers = dbRefUserData.child("Users");
public final static DatabaseReference dbRefDisplayNames = dbRefUserData.child("DisplayNames");
public final static DatabaseReference dbRefDeviceMgmt = dbRefUserData.child("DeviceMgmt");
public final static DatabaseReference dbRefAverage = dbRefDeviceMgmt.child("Average");
public final static DatabaseReference dbRefDevices = dbRefDeviceMgmt.child("Devices");
public final static DatabaseReference dbRefNumberOfAll = dbRefDeviceMgmt.child("NumberOfAll");
public final static DatabaseReference dbRefNumberOfSelected = dbRefDeviceMgmt.child("NumberOfSelected");
public final static DatabaseReference dbRefTotalDownloaded = dbRefDeviceMgmt.child("TotalDownloaded");
private static long theAverage;
public static long getAverage() {
dbRefAverage.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
theAverage = dataSnapshot.getValue(Long.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.e(TAG, databaseError.getMessage() + ", Exception: ", databaseError.toException());
}
});
return theAverage;
}
public static User getDbUser(final String uid) {
// getting User value:
dbRefUsers.child(uid).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange (DataSnapshot dataSnapshot) {
userValue = dataSnapshot.getValue(User.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.e(TAG, databaseError.getMessage() + ", Exception: ", databaseError.toException());
}
});
}}
and Json:
{
"UserData" : { "DeviceMgmt" : { "Average" : 666, "Devices" : { "-LEPhxstDLC-SJKITtCI" : { "downloaded" : 0, "failures" : 0, "fcmToken" : "dRneV", "signOutTime" : 0, "toSelect" : true, "uid" : "AsU7GKtuTSZFwm3ePwvk4s3AEbT2", "used" : 0 }, "Device" : "dummy" }, "NumberOfAll" : 8, "NumberOfSelected" : 8, "TotalDownloaded" : 0 }, "DisplayNames" : { "Pablo X" : "tWlLHuDgGVPr0ZivEEpIi4tik352", "Pablo XY" : "0HW3pcWHU9YuPYM4Od4YBqDzB8C3", "Pawel" : "AsU7GKtuTSZFwm3ePwvk4s3AEbT2", "displayName" : "dummy" }, "Users" : { "AsU7GKtuTSZFwm3ePwvk4s3AEbT2" : { "deviceKey" : "-LEPhxstDLC-SJKITtCI", "displayName" : "Pawel", "email" : "email@gmail.com", "profile" : "user", "signOutTime" : 0 }, "user" : "dummy" } } }