2017-05-11 3 views
0

Ich habe eine Struktur in Echtzeit-Datenbank, die ein verschachteltes Feld enthält. Wie kann ich die Java-Klasse erstellen, um Daten festlegen und abrufen zu können?Java-Klasse in eine verschachtelte Echtzeit-Datenbank

This is my structure

+0

klicken Sie auf Export Json und stellen Sie die JSON –

+0

Nur die komplette JSON hinzugefügt. – Inacius

+0

Also, Sie möchten POJO für die gesamte Struktur machen oder ein bestimmtes Element roh extrahieren? –

Antwort

0

Wie ich in Ihrer Eventos Klasse sehen Sie nur die fileds erklärt aber, um sie zu setzen und erhalten Sie öffentliche setters und getters erstellen müssen. So sollte es aussehen:

public int getID_Evento() { 
    return ID_Evento; 
} 

public void setID_Evento(int ID_Evento) { 
    this.ID_Evento = ID_Evento; 
} 

public int getID_Usuario_Criou() { 
    return ID_Usuario_Criou; 
} 

public void setID_Usuario_Criou(int ID_Usuario_Criou) { 
    this.ID_Usuario_Criou = ID_Usuario_Criou; 
} 

Dies ist ein Beispiel für die ersten beiden Felder. Für die anderen müssen Sie es auf die gleiche Weise tun. Wenn Sie Android Studio verwenden, klicken Sie einfach auf Alt + Insert, wählen Sie Getter and Setter und dann alle Ihre Felder aus. Wenn Sie die richtigen setters und getters haben, können Sie sie in Ihrem Code verwenden. Um Ihre Felder stellen Sie diesen Code verwenden:

Eventos eventos = new Eventos(); 
eventos.setID_Evento(ID_Evento); 
// and so on for the other fields 
yourReference.setValue(eventos); 

Wie Sie sehen, am Ende haben wir die setValue() verwendet, um das erstellte Objekt in den DatabaseReference hinzuzufügen.

Daten Um aus Sie einen listener auf dem richtigen DatabaseReference und erhalten Daten aus dem DataSnapshot wie diese verwenden müssen:

Eventos eventos = dataSnapshot.getValue(Eventos.class); 
int ID_Evento = eventos.getID_Evento(); 

Damit verschachtelten Knoten haben, in Ihnen Pojo Sie eine neue hinzufügen müssen Map fied genannt: participantes wie folgt aus:

Map<String, Map<String, String>> participantes = new HashMap<>(); 

um den Wert dieses Feldes Sie auch eine öffentliche Setter und Getter erstellen müssen eingestellt werden. Um tatsächlich die Werte in Ihrem Code festzulegen, verwenden Sie bitte den folgenden Code:

Map<String, Map<String, String>> participantes = new HashMap<>(); 
Map<String, String> map = = new HashMap<>(); 
map.put(id_Usuario, "1"); 
map.put(vnv, "1"); 
map.put(vnv_data, "05/05/2017"); 
participantes.put(userEmail, map); 
yourRef.setValue(participantes); 

Hoffe, es hilft.

+0

Alex, thx für die Antwort, die Klasse hat bereits die Getter und Setter außer dem verschachtelten Feld, dieses De-Problem. Wie sollte die Klasse mit dem verschachtelten Feld aussehen? (Ich habe die Frage aktualisiert). – Inacius

+0

Bitte sehen Sie meine aktualisierte Antwort. –

Verwandte Themen