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

Update e Delete no realTime Database(FireBase)

java
android
Tags: #<Tag:0x00007f37defaae48> #<Tag:0x00007f37defaa880>

#1

Bom Dia Pessoal estou com problemas ao realizar um Update e um Delete no meu App.
O Update ele ao invés de substituir o nome , ele o substitui e os outros nós somem , ficando apenas o nome.
E o Delete não funciona.
Vou postar os códigos.

package com.example.luisr.nossavoz.activity;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.Toast;

import com.example.luisr.nossavoz.R;
import com.example.luisr.nossavoz.helper.UsuarioFirebase;
import com.example.luisr.nossavoz.model.Usuario;
import com.google.firebase.auth.FirebaseUser;

public class EditarPerfilActivity extends AppCompatActivity {
private EditText editarNomePerfil,editarEmailPerfil;
private Button botaoSalvar,botaoapagar;
private Usuario usuarioLogado;
private ProgressBar progUE;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_editar_perfil);
usuarioLogado = UsuarioFirebase.getDadosUsuarioLogado();
iniciarComponentes();
progUE.setVisibility(View.GONE);
FirebaseUser Uperfil = UsuarioFirebase.getUsuarioAtual();
editarNomePerfil.setText(Uperfil.getDisplayName());
editarEmailPerfil.setText(Uperfil.getEmail());

    botaoSalvar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String nomeAtualizado = editarNomePerfil.getText().toString();

            UsuarioFirebase.atualizarNomeUsuario(nomeAtualizado);

            usuarioLogado = new Usuario();

            usuarioLogado.setNome(nomeAtualizado);
            usuarioLogado.salvar();
            progUE.setVisibility(View.VISIBLE);

            Toast.makeText(EditarPerfilActivity.this,
                    "Dados alterados com sucesso!",
                    Toast.LENGTH_SHORT).show();

        }
    });


    botaoapagar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Usuario usuer = new Usuario();
            usuer.apagarConta(UsuarioFirebase.getIdentificadorUsuario());
            UsuarioFirebase.getUsuarioAtual().delete();
            progUE.setVisibility(View.VISIBLE);

            Toast.makeText(EditarPerfilActivity.this,
                    "Dados apagados :( ",
                    Toast.LENGTH_SHORT).show();

            Intent apagar = new Intent(EditarPerfilActivity.this,LoginActivity.class);
            startActivity(apagar);


        }
    });



}





 public void iniciarComponentes()
 {
    editarNomePerfil = findViewById(R.id.editNomePerfil);
    editarEmailPerfil = findViewById(R.id.editEmailPerfil);
    botaoSalvar       = findViewById(R.id.btn_SalvarAlteracoes);
    botaoapagar      = findViewById(R.id.btn_apagarConta);
    progUE = findViewById(R.id.progresseditar);
 }

@Override
public boolean onSupportNavigateUp() {

    finish();
    return false;

}

}

Classe Modelo

package com.example.luisr.nossavoz.model;

import android.widget.Spinner;
import android.widget.Toast;

import com.example.luisr.nossavoz.activity.EditarPerfilActivity;
import com.example.luisr.nossavoz.helper.ConfiguracaoFirebase;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import static java.security.AccessController.getContext;

public class Usuario
{

private String id;
private String nome;
private String email;
private String senha;
private String rsenha;
private String   nascimento;
private String telefone;
private String etelefone;
private String cep;
private String complemento;
private String ncasa;
private String genero;

public Usuario()
{

}

public void atualizar(){

    DatabaseReference firebaseRef = ConfiguracaoFirebase.getFirebase();

    Map objeto = new HashMap();
    objeto.put("/usuarios/" + getId() + "/nome", getNome() );

    firebaseRef.updateChildren( objeto );

}
public Map<String, Object> converterParaMap(){

    HashMap<String, Object> usuarioMap = new HashMap<>();
    usuarioMap.put("email", getEmail() );
    usuarioMap.put("nome", getNome() );
    usuarioMap.put("id", getId() );


    return usuarioMap;

}


public void salvar()
{

    DatabaseReference firebaseRef = ConfiguracaoFirebase.getFirebase();
    DatabaseReference usuariosRef = firebaseRef.child("usuarios").getRef();
    usuariosRef.setValue(this);
}

public String getGenero() {
    return genero;
}

public void setGenero(String genero) {
    this.genero = genero;
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getSenha() {
    return senha;
}

public void setSenha(String senha) {
    this.senha = senha;
}

public String getRsenha() {
    return rsenha;
}

public void setRsenha(String rsenha) {
    this.rsenha = rsenha;
}

public String getNascimento() {
    return nascimento;
}

public void setNascimento(String nascimento) {
    this.nascimento = nascimento;
}

public String getTelefone() {
    return telefone;
}

public void setTelefone(String telefone) {
    this.telefone = telefone;
}

public String getEtelefone() {
    return etelefone;
}

public void setEtelefone(String etelefone) {
    this.etelefone = etelefone;
}

public String getCep() {
    return cep;
}

public void setCep(String cep) {
    this.cep = cep;
}

public String getComplemento() {
    return complemento;
}

public void setComplemento(String complemento) {
    this.complemento = complemento;
}

public String getNcasa() {
    return ncasa;
}

public void setNcasa(String ncasa) {
    this.ncasa = ncasa;
}

public void apagarConta(String id)
{
   DatabaseReference uR = FirebaseDatabase.getInstance().getReference("usuarios").child("id");
   uR.removeValue();



}

}