私は次のfirebaseクラスを持っています。患者と使用者(医者、病院のもの)は、多対多の関係です。 Firebaseが親と子のデータを取得してクラスに割り当てます
患者クラスpublic class Patients {
public String name;
public String surname;
public ArrayList<String> users;
}
そして、これは私がpatients
テーブルの上にfirebaseデータベースにことなくデータを通じてフィールドusers
(表patients
ませテーブルのフィールド)を反復的な方法です。 users
の子供(表patients
ませテーブルのフィールドには、別のループを必要とする)ので
database.child("patients").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot patient : dataSnapshot.getChildren()){
Patients p = patient.getValue(Patients.class);
//use p object
listViewAdapter.notifyDataSetChanged();
}
patientsList.setAdapter(listViewAdapter);
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
はもちろん、これはpatients
テーブルの現在の形式では動作しませんし、私はそれを取得します。私が得られないことは、別のループを実行する必要があるときにクラスをpatients
テーブルに関連付ける方法です。私はPatients p = patient.getValue(Patients.class)
が反復が必要な別のフィールドで動作する方法を理解することはできません。
私の目標は、たとえば name = Mark
、surname = Marks
、users[] = [y92pZ4rynpUFSOm3MrzQncimu153,...]
のために含まれてPatients
クラスのオブジェクトp
です。私はしないでくださいどのようにPOJOが構造化されなければならないとどのようなユーザーArrayList
は、各患者のために、すべてのusers
フィールドが含まれており、公共分野とし、witout POJOクラスを持つPatients p = patient.getValue(Patients.class)
まもなく、あなたの出力には何がありますか? –
@AlexMamo 'patients'テーブルに関連付ける' Patients'オブジェクトです。最後の部分の 'patients'テーブルを反復するコードは' users'フィールドなしで動作します。 – valkon
Firebaseに関してはテーブルはありません。 FirebaseはNoSQLデータベースです。あなたは私の質問を理解していませんでした。あなたは何を印刷したいですか?あなたのデータベースからの値を含むサンプルを私に与えてください。 –