Les données dans firebase sont les suivantes
Je veux obtenir les données étiquetées comme userId sous forme de liste ou de tableau.
ma méthode est :
public static void writePostToFriends(final String userId, final String userName, final String title, final String body, final String authorPhoto){
DatabaseReference mpostRef = FirebaseDatabase.getInstance().getReference().child("social/user/"+userId+"/friends");
mpostRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
GenericTypeIndicator<List<Friends>> t = new GenericTypeIndicator<List<Friends>>() {};
List<Friends> mFriends = dataSnapshot.getValue(t);
long j = mFriends.size();
for (long i = 0; i == j; i++){
Friends mReadFriends = dataSnapshot.getValue(Friends.class);
String getUid = mReadFriends.userID;
writeNewPost(getUid, userId, userName, title, body, authorPhoto);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
mais quand il essaye de lire, il donne cette erreur -
Processus : com.evolutionstudios.atmiyo, PID : 19506 com.google.firebase.database.DatabaseException : Attendu une liste lors de la désérialisation, mais obtenu une classe java.util.HashMap at com.google.Android.gms.internal.zzanp.zza(Source inconnue) at com.google.Android.gms.internal.zzanp.zza(Source inconnue) at com.google.Android.gms.internal.zzanp.zza(Source inconnue) at com.google.firebase.database.DataSnapshot.getValue(Source inconnue) at com.evolutionstudios.atmiyo.Utils.NotificationHelper$1.onDataChange(NotificationHelper.java:40) at com.google.Android.gms.internal.zzakg.zza(Source inconnue) at com.google.Android.gms.internal.zzalg.zzcxk(Source inconnue) at com.google.Android.gms.internal.zzalj$1.run(Source inconnue) at Android.os.Handler.handleCallback(Handler.java:739) at Android.os.Handler.dispatchMessage(Handler.java:95) at Android.os.Looper.loop(Looper.java:148)
quelqu'un peut-il m'aider à comprendre comment obtenir l'ID utilisateur dans les données sous forme de tableau ou de liste ?