GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Recuperar dados Firebase


#1

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.

b

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();
}