Ich versuche, JAVA zu verwenden, um Daten aus einer Firebase-Datenbank in einem Android zu lesen. Ich habe eine Datenbank, die folgende:Abrufen von Daten aus Firebase. AddValueEventListener für komplexes Objekt
{
"info" : {
"about" : "...........",
"address" : "...........",
"bus" : "",
"contact" : "........",
"email" : ".........",
"mobile_phone" : ".........",
"trolley" : ""
},
"schedule" : {
"47" : {
"hall" : {
"id" : 2,
"name" : "..."
},
"presentation" : {
"about" : "",
"id" : 1,
"title" : "....."
},
"section" : {
"id" : 2,
"name" : ".... "
},
"speakers" : [ 101 ],
"time_end" : 0,
"time_start" : 1416652800,
"url" : "......"
}
}
}
ich einfache Strukturen lesen können, wie zum Beispiel:
ref.child("info").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Info msg =dataSnapshot.getValue(Info.class);
System.out.println(msg.getEmail());
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
Aber ich weiß nicht, wie Daten aus einer Struktur „Zeitplan“ abzurufen. Ich habe versucht, POJO neu zu erstellen und die Struktur zu lesen, aber es funktioniert nicht.
ref.child("schedule").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
Schedule msg =dataSnapshot.getValue(Schedule.class);
System.out.println(msg.getHall().getId());
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
warum nicht ref.child ("schedule")? Oder nehmen Sie einfach die gesamte Datenbank an erster Stelle (wenn sie nur Informationen und Zeitplan enthält) – Bill