我想知道您花费的时间如何浏览我的数据库 用户-> ID->我得到的角色
以这种方式
我的目标人物
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个数据
答案 0 :(得分:1)
要能够更新多个节点,您需要知道每个节点的确切路径。
似乎您已经具有对特定用户的引用。在这种情况下,您将需要阅读角色,在角色上循环,然后依次更新每个角色。像这样:
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);
}
}
...
)
答案 1 :(得分:0)
如果我正确理解了您的问题,则希望将整个对象写入数据库。
如果是这样,您只需创建自定义对象。在您的情况下,看起来像这样:
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);
请记住,您的对象需要实现可序列化。