Ich habe eine Methode, die unten soll das denn ist ein Arraylist von Ereignis Objekte zurückzukehren. Ich verwende die Methode der Zuordnung der Daten in Firebase zu einem POJO. Von der Fehlersuche ist das Mapping korrekt und ich füge die Objekte dem ArrayList jsonString hinzu, der Code stürzt beim Beenden der for-Schleife ab.com.google.firebase.database.DatabaseException: Erwartet eine Liste während Deserialisieren, bekam aber eine Klasse java.util.HashMap
Es gibt Fehler:
com.google.firebase.database.DatabaseException: Expected a List while deserializing, but got a class java.util.HashMap
.
Ich habe nicht viel Code hinzugefügt, weil diese Methode unabhängig ist.
public ArrayList<Event> getJsonString(){
final ArrayList<Event> jsonString = new ArrayList();
mFirebaseDatabaseReference = database.getInstance().getReference(MESSAGES_CHILD);
//mFirebaseDatabaseReference.child(MESSAGES_CHILD);
mFirebaseDatabaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot eventSnapshot:dataSnapshot.getChildren()){
Event event = eventSnapshot.getValue(Event.class);
jsonString.add(event);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return jsonString;
}
Der Stacktrace:
07-25 21:21:23.178 3037-3079/com.firstintel.zimnights E/DynamiteModule: Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor" on path: DexPathList[[zip file "/data/app/com.firstintel.zimnights-1/base.apk"],nativeLibraryDirectories=[/data/app/com.firstintel.zimnights-1/lib/x86_64, /vendor/lib64, /system/lib64]]
07-25 21:21:23.191 3037-3079/com.firstintel.zimnights E/DynamiteModule: Failed to load module descriptor class: Didn't find class "com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor" on path: DexPathList[[zip file "/data/app/com.firstintel.zimnights-1/base.apk"],nativeLibraryDirectories=[/data/app/com.firstintel.zimnights-1/lib/x86_64, /vendor/lib64, /system/lib64]]
07-25 21:21:27.313 3037-3095/com.firstintel.zimnights E/Surface: getSlotFromBufferLocked: unknown buffer: 0x7f758c234b90
07-25 21:21:27.415 3037-3095/com.firstintel.zimnights E/Surface: getSlotFromBufferLocked: unknown buffer: 0x7f758c235530
07-25 21:21:28.228 3037-3037/com.firstintel.zimnights E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.firstintel.zimnights, PID: 3037
com.google.firebase.database.DatabaseException: Expected a List while deserializing, but got a class java.util.HashMap
at com.google.android.gms.internal.zzaix.zza(Unknown Source)
at com.google.android.gms.internal.zzaix.zza(Unknown Source)
at com.google.android.gms.internal.zzaix.zza(Unknown Source)
at com.google.firebase.database.DataSnapshot.getValue(Unknown Source)
at com.firstintel.zimnights.EventFragment$1.onDataChange(EventFragment.java:146)
at com.google.android.gms.internal.zzafp.zza(Unknown Source)
at com.google.android.gms.internal.zzagp.zzSu(Unknown Source)
at com.google.android.gms.internal.zzags$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Sie müssen die vollständige Ablaufverfolgung für den Ausnahme-Stack anzeigen und die Zeile in Ihrem Code angeben, die zum Auslösen der Ausnahme führt. [bearbeiten] Sie Ihren Beitrag und fügen Sie die notwendigen Informationen hinzu. Außerdem macht dieser Code nichts wirklich. Sie haben einen Listener festgelegt, aber keine anderen Methoden aufgerufen, sodass Sie eine leere Liste zurückgeben. –
Noted thanks Ich habe den Stacktrace hinzugefügt –
Sie sollten auch den Code für Ihre POJO 'Event' post. –