Por favor, alguem poderia tentar me ajudar a resolver esse problema?
Não estou conseguindo recuperar os dados de um nó (animais). Segue o modelo de como está o banco de dados no firebase, o código das classes e o log.
public class ConfiguracoesAnimalActivity extends AppCompatActivity {
private EditText editAnimalNome, editAnimalIdade, editAnimalraca;
private DatabaseReference firebaseRef;
private String idUsuarioLogado;
private String idAnimal;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_configuracoes_animal);
//Configurações iniciais
inicializarComponentes();
firebaseRef = ConfiguracaoFirebase.getFirebaseDatabase();
idUsuarioLogado = UsuarioFirebase.getIdentificadorUsuario();
//Configurações Toolbar
Toolbar toolbar = findViewById(R.id.toolbarPrincipal);
toolbar.setTitle("Configurações animal");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
DatabaseReference animalRef = firebaseRef
.child("animais")
.child(idUsuarioLogado)
.child(idAnimal);
animalRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue() != null) {
Animal animal = dataSnapshot.getValue(Animal.class);
editAnimalNome.setText(animal.getNome());
editAnimalIdade.setText(animal.getIdade());
editAnimalraca.setText(animal.getRaca());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
public void validarDadosAnimal(View view) {
//Valida se os campos foram preenchidos
String nome = editAnimalNome.getText().toString();
String idade = editAnimalIdade.getText().toString();
String raca = editAnimalraca.getText().toString();
if (!nome.isEmpty()) {
if (!idade.isEmpty()) {
if (!raca.isEmpty()) {
Animal animal = new Animal();
animal.setIdAnimal(idAnimal);
animal.setNome(nome);
animal.setIdade(idade);
animal.setRaca(raca);
animal.salvar();
finish();
} else {
exibirMensagem("Digite uma categoria");
}
} else {
exibirMensagem("Digite uma taxa de entrega");
}
} else {
exibirMensagem("Digite um nome para a empresa");
}
}
private void exibirMensagem(String texto) {
Toast.makeText(this, texto, Toast.LENGTH_SHORT)
.show();
}
private void inicializarComponentes() {
editAnimalNome = findViewById(R.id.editAnimalNome);
editAnimalIdade = findViewById(R.id.editAnimalIdade);
editAnimalraca = findViewById(R.id.editRacaAnimal);
}
}
public Animal() {
DatabaseReference firebaseRef = ConfiguracaoFirebase.getFirebase();
DatabaseReference animalRef= firebaseRef
.child("animais");
setIdProduto( animalRef.push().getKey() );
}
public void validarDadosAnimal(View view){
//Valida se os campos foram preenchidos
String nome = editAnimalNome.getText().toString();
String idade = editAnimalIdade.getText().toString();
String raca = editAnimalRaca.getText().toString();
if( !nome.isEmpty()){
if( !descricao.isEmpty()){
if( !preco.isEmpty()){
Animal animal = new Animal();
animal.setIdUsuario( idUsuarioLogado );
animal.setNome( nome );
animal.setIdade( idade );
animal.setraca( raca );
animal.salvar();
finish();
exibirMensagem(“Animal salvo com sucesso!”);
}else{
exibirMensagem(“Digite um raça para o animal”);
}
}else{
exibirMensagem(“Digite a idade do animal”);
}
}else{
exibirMensagem(“Digite um nome para o animal”);
}
}
private void exibirMensagem(String texto){
Toast.makeText(this, texto, Toast.LENGTH_SHORT).show();
}