Я хочу знать, как вы просматриваете мою базу данных, когда проводите Пользователи-> Идентификатор-> Персонажи, которые я получаю
этим способом
мой объект
public class Persona implements Serializable{
private String nombres;
private String address;
private String parentesco;
private int dni;
private int telefono;
private String img;
private String latitud;
private String longitud;
private String dirCoordenadas;
public Persona(){
super();
}
public Persona(String nombres, String address, String parentesco, int telefono,
int dni, String img,String latitud,String longitud, String dirCoordenadas) {
this.nombres = nombres;
this.address = address;
this.parentesco = parentesco;
this.telefono = telefono;
this.dni = dni;
this.img=img;
this.latitud=latitud;
this.longitud=longitud;
this.dirCoordenadas=dirCoordenadas;
}
это мой экземпляр подключения Firebase
databaseReference = FirebaseDatabase.getInstance().getReference("Users").child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("Personas")
как мне получить того ребенка, который представляет имя каждого человека, чтобы внутри я сохранял изменения в каждой Персоне
Map<String,Object> update= new HashMap<>();
update.put("latitud",lati);
update.put("longitud",longit);
update.put("dirCoordenadas",dir);
databaseReference.child("Personas").child(---Here--).updateChildren(update);
некоторое представление о том, как получить данные дерева узлов, где каждая ветвь идентифицируется по имени каждого человека, а внутри содержит их данные, и вы хотите изменить 3 данных каждого дочернего узла
Если я правильно понял ваш вопрос, вы хотите записывать целые объекты в базу данных.
Если это так, вам просто нужно создать настраиваемый объект. В вашем случае это будет выглядеть примерно так:
public class Persona implements Serializable {
public String name;
public String dir;
...
...
...
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
конечно, вам понадобятся все поля и для каждого поля публичный сеттер и геттер.
Когда у вас есть это, вы можете просто записать весь объект в базу данных с чем-то вроде этого:
FirebaseDatabase.getInstance().getReference().child("someChild").child("someID").setValue(persona);
Просто имейте в виду, что ваш объект должен реализовывать сериализуемый.
Чтобы иметь возможность обновлять несколько узлов, вам необходимо знать точный путь к каждому узлу.
Похоже, у вас уже есть ссылка на конкретного пользователя. В этом случае вам нужно будет прочитать персонажей, перебрать их, а затем обновить каждый по очереди. Что-то вроде этого:
Map<String,Object> update= new HashMap<>();
update.put("latitud",lati);
update.put("longitud",longit);
update.put("dirCoordenadas",dir);
databaseReference.child("Personas").addListenerForSingleValueEvent(new ValueEventListener() {
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot child: snapshot.getChildren()) {
child.getRef().updateChildren(update);
}
}
...
)
если объект Person реализован, как вы показываете, но я хочу обновить три узла в объекте