Firebase addValueEventListener sometimes returns null DataSnapshot

My Android app uses Firebase JAVA API which works really well. However, I recently noticed that sometimes I get a null value returned in datasnapshot with this code.

 public void startLeaderboardListener (final String roundID) {
    myClubFirebaseRef.child("/rounds/" + roundID + "/scores/users/").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot snapshot) {
            JSONArray usersJSONArray = new JSONArray();
            //ToDo : BUG : Returned a null object reference here
            Map<String, JSONObject> usersMap = (HashMap<String, JSONObject>) snapshot.getValue();
            JSONObject usersJSON = new JSONObject(usersMap);
            if (usersMap != null) try {
                Iterator x = usersJSON.keys();
                while (x.hasNext()) {
                    String thisUSerID = (String) x.next();
                    usersJSONArray.put(usersJSON.get(thisUSerID));

                    JSONObject thisUserJSON = usersJSON.getJSONObject(thisUSerID);
                    SQLiteRounds db = new SQLiteRounds(myContext);
                    JSONObject thisUserStatusJSON = thisUserJSON.getJSONObject("status");
                    JSONArray thisUserDataJSON = thisUserJSON.getJSONArray("data");
                    db.updateLocalRoundwithScores(thisUSerID, roundID, thisUserStatusJSON, thisUserDataJSON);
                }
                myScoreListener.onScoreUpdated(usersJSONArray);

            } catch (Throwable t) {
                t.printStackTrace();
                Log.e ("CloudArchery", "Error extracting JSON Data from User Update (ClubFirebase.startLeaderboard");
            }
        }//StartLeaderboard

        @Override
        public void onCancelled(FirebaseError firebaseError) {
            Log.e("CloudArchery", "The read failed (ClubFirebase.startLeaderboard) : " + firebaseError.getMessage());
        }

    });
} //startLeaderboardListene

      

+3
android firebase


source to share


No one has answered this question yet

Check out similar questions:

7
Adding Firebase Social Media Sharing Logic to Android
4
Loadmanager onLoadFinished is not called
3
Android - dataSnapshot.getValue () returns null in second call (but not first)
1
Problem reading Firebase data from Android
1
Get children using orderByChild-equalsTo in Firebase-Android
0
Firebase database OnDataChanged not being called in android app
0
How can I cancel AsynsTask in Android?
0
View.SurfaceView, why is its member, mSurfaceHolder, returning null from getSurface ()?
0
Updated globals do not reflect inside ValueEventListener onCancelled method
-1
How do I get the data stored in USER_ID?



All Articles
Loading...
X
Show
Funny
Dev
Pics