これはFirebase、データベース内の私のJSONデータ構造である:私はJSONツリーからのchildren
を除くすべてのフィールドをプルアップすることができるよ:アンドロイド
familylist
|- 0
|--children
| |-- 0:"AAA"
| |-- 1:"BBB"
|-- code: "2222"
|-- family: "SWE"
|-- fatherName: "ABC"
|-- motherName: "XYZ"
|- 1
|--children
| |-- 0:"XXX"
| |-- 1:"YYY"
|-- code: "3333"
|-- family: "ABC"
|-- fatherName: "ERT"
|-- motherName: "XTS"
。誰も私にどのようにchildren
からデータを取得することを提案することはできますか?
これは、子供以外のfirebaseデータベースからすべてのフィールドを取得するためのコードです。 children
の値も取得するには、このコードをどうすればよいですか?私は理解できません。
familyListReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot ds: dataSnapshot.getChildren()) {
String key = (String) ds.getKey();
Log.d(TAG, "Key" + key);
DatabaseReference keyReference = FirebaseDatabase.getInstance().getReference().child("familylist").child(key);
Log.d(TAG, "Key reference: " + keyReference);
keyReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String code = dataSnapshot.child("code").getValue(String.class);
String family = dataSnapshot.child("family").getValue(String.class);
String father = dataSnapshot.child("fatherName").getValue(String.class);
String mother = dataSnapshot.child("motherName").getValue(String.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d(TAG, "Read failed");
}
}); // [End of keyReference]
} // END of for Loop
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d(TAG, "Read failed");
}
}); // [End of familyListDatabaseReference]
完璧で完璧!実際には、私はfirebaseデータベースに既存のJSONファイルをインポートし、そこからActivityからデータをプルアップしました。 – Chip