Я пытаюсь объединить два узла с помощью firebase в java, но я не могу связать все данные и правильно отобразить их в виде. Любое решение?
Это данные в базе данных:
- Person
- 66db3d6a-c6cf-4577-a857-eca22cd55403
- name: " aaa "
- фамилия:" bbb "
- почта:" john@hotmail.com "
- id:" 66db3d6a-c6cf-4577-a857-eca22cd55403 "
- Пользователь
- 4ad0c3db-a5b1-40bb-bfc1-35c15ec5af9c
- nameUser: "john123"
- пароль: "* ***** "
- idPerson:" 66db3d6a-c6cf-4577-a857-eca22cd55403 "
- idUser:" 4ad0c3db-a5b1-40bb-bfc1-35c15ec5af9 c "
Это мой код:
private void listAll(){
Map<String, String> valuesMapJoin = new HashMap<>();
databaseReference.child("Person").orderByKey().addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()){
Map<String, String> valuesMapPerson =
(HashMap<String,String>)dataSnapshot1.getValue();
String idPerson = valuesMapPerson.get("id");
String name = valuesMapPersona.get("name");
String surname = valuesMapPersona.get("surname");
String surname = valuesMapPersona.get("mail");
databaseReference.child("User").orderByKey().equalTo(idPerson).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
Map<String, String> valuesMapUser = (HashMap<String,
String>)dataSnapshot1.getValue();
String nameUser = valuesMapUsuario.get("nameUser");
String password = valuesMapUsuario.get("password");
listDataJoin.add(name + "-" + sourname + "-" + mail + "-" + nameUser + "-
" + password);
arrayAdapter = new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_list_item_1, listDatosJoin);
listJoin.setAdapter(arrayAdapter);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}