Well I have the following code:
private void abrirCadastroContato() {
String emailContato;
emailContato = "email";
int contador = 1;
while (contador <=3) {
if (contador == 1) {
emailContato = "[email protected]";
}
if (contador == 2) {
emailContato = "[email protected]";
}
if (contador == 3) {
emailContato = "[email protected]";
}
identificadorContato = Base64Custom.codificarBase64(emailContato);
firebase = ConfiguracaoFirebase.getFirebase().child("usuarios").child(identificadorContato);
firebase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue() != null) {
//Recuperar dados do contato a ser adicionado
Usuario usuarioContato = dataSnapshot.getValue(Usuario.class);
//Recuperar identificador usuario logado (base64)
Preferencias preferencias = new Preferencias(MainActivity.this);
String identificadorUsuarioLogado = preferencias.getIdentificador();
firebase = ConfiguracaoFirebase.getFirebase();
firebase = firebase.child("contatos")
.child(identificadorUsuarioLogado)
.child(identificadorContato);
Contato contato = new Contato();
contato.setIdentificadorUsuario(identificadorContato);
contato.setEmail(usuarioContato.getEmail());
contato.setNome(usuarioContato.getNome());
firebase.setValue(contato);
} else {
Toast.makeText(MainActivity.this, "Usuário não possui cadastro.", Toast.LENGTH_LONG).show();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
contador ++;
}
}
In this code the goal is to register 3 registers in Firebase, but when I run it, instead of creating 3 different nodes inside the contacts node, it creates only one node and changes it, not registering 3 registers but only 1 record.
Expected result in firebase: Resultobtained:
BydebuggingthecodeIrealizedthatthisdownwardstretchusuallydoesnotrun,Idonotknowifithasanythingtodowiththeproblembutjustanobservation.
firebase.addValueEventListener(newValueEventListener(){@OverridepublicvoidonDataChange(DataSnapshotdataSnapshot){if(dataSnapshot.getValue()!=null){//RecuperardadosdocontatoaseradicionadoUsuariousuarioContato=dataSnapshot.getValue(Usuario.class);//Recuperaridentificadorusuariologado(base64)Preferenciaspreferencias=newPreferencias(MainActivity.this);StringidentificadorUsuarioLogado=preferencias.getIdentificador();firebase=ConfiguracaoFirebase.getFirebase();firebase=firebase.child("contatos")
.child(identificadorUsuarioLogado)
.child(identificadorContato);
Contato contato = new Contato();
contato.setIdentificadorUsuario(identificadorContato);
contato.setEmail(usuarioContato.getEmail());
contato.setNome(usuarioContato.getNome());
firebase.setValue(contato);
} else {
Toast.makeText(MainActivity.this, "Usuário não possui cadastro.", Toast.LENGTH_LONG).show();
}
}
My question is ... How do I create a similar while it's registering 3 different nodes in the Firebase database?