2017-05-11 14 views
0

ネストされたフィールドを含むリアルタイムデータベース内の構造を持っています。私はどのように設定し、データを取得できるようにJavaクラスを作成することができますか?ネストされたリアルタイムデータベースへのJavaクラス

This is my structure

+0

エクスポートjsonをクリックし、jsonを提供 –

+0

完全なJSONを追加しました。 – Inacius

+0

したがって、構造全体に対してPOJOを作成するか、特定の要素を生のまま抽出する必要がありますか? –

答えて

0

私はあなたのEventosクラスで見たようあなただけのfiledsを宣言しているが、それらを設定および取得するために、あなたは、公共settersgettersを作成する必要があります。これは次のようになります。

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; 
} 

これは最初の2つのフィールドの例です。他の人は同じ方法でそれを行う必要があります。 Android Studioを使用している場合は、Alt + Insertをクリックし、Getter and Setterを選択し、すべてのフィールドを選択します。

正しいsettersgettersを取得したら、コードで使用できます。ご覧のとおり、最終的に私たちはあなたのDatabaseReferenceに作成されたオブジェクトを追加するためにsetValue()を使用している

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

:あなたのフィールドを設定するには、このコードを使用してください。あなたの中にネストされたノードは、新しいを追加する必要がPOJOことを持っているために

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

:あなたは正しいDatabaseReferencelistenerを使用して、このようなDataSnapshotからデータを取得するために必要なデータを取得するに

Map fiedが命名:このようなparticipantes:あなたは公共のセッターとゲッターを作成することも必要のあるフィールドの値を設定するために

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

。実際にコードの値を設定するには、次のコードを使用してください:

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); 

希望すると助かります。

+0

答えのためのアレックスは、クラスはすでにネストされたフィールドを除いてgettersとセッターを持って、この非常に問題です。ネストされたフィールドのクラスの外観はどうでしょうか? (私は質問を更新しました)。 – Inacius

+0

最新の回答をご覧ください。 –

関連する問題