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

[RESOLVIDO] Botão fecha a Aplicação

java
android
Tags: #<Tag:0x00007f37da24c908> #<Tag:0x00007f37da24c778>

#1

Fala Pessoal,
Toda vez que clico no botao , ao invés de cadastrar a denuncia no firebase ,ele fecha o app…
Por favor me ajudem a encontrar o problema.

package com.example.luisr.nossavoz.activity;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
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.google.firebase.database.DatabaseReference;

import com.example.luisr.nossavoz.model.Denuncia;
import com.google.firebase.database.FirebaseDatabase;

public class DenunciaActivity extends AppCompatActivity {

private EditText campoNVitima,campoIVitima,campoNAgressor,campoIAgressor,campoTitulo,
        campoEndereço,campoDescricao;
private Button botaoEfetuarDenuncia;
private ProgressBar carregDenun;
private Denuncia denuncia;
private String idUsuarioLogado;
private DatabaseReference referencia = FirebaseDatabase.getInstance().getReference("denuncias");

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_denuncia);
    inicializarcamposdenuncia();

    carregDenun.setVisibility(View.GONE);
    botaoEfetuarDenuncia.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view)
        {
          carregDenun.setVisibility(View.VISIBLE);

          String textoNomeVitima = campoNVitima.getText().toString();
            String textoIdadeVitima = campoIVitima.getText().toString();
            String textoNomeAgressor = campoNAgressor.getText().toString();
            String textoIdadeAgressor = campoIAgressor.getText().toString();
            String textoTitulo = campoTitulo.getText().toString();
            String textoEndereco = campoEndereço.getText().toString();
            String textoDescricao = campoDescricao.getText().toString();
              if (!textoTitulo.isEmpty())
              { if (!textoEndereco.isEmpty())
              {
                  if (!textoDescricao.isEmpty())
                  {
                      DatabaseReference denuncias = referencia.child("denuncias");

                        denuncia = new Denuncia();
                        denuncia.setNomeVitima(textoNomeVitima);
                        denuncia.setIdadeVitima(textoIdadeVitima);
                        denuncia.setNomeAgressor(textoNomeAgressor);
                        denuncia.setIdadeAgressor(textoIdadeAgressor);
                        denuncia.setTituloOcorrencia(textoTitulo);
                        denuncia.setEnderecoOcorrencia(textoEndereco);
                        denuncia.setDescricaoOcorrencia(textoDescricao);

                         denuncia.salvarDenuncia();

                      Intent perfilpage = new Intent(DenunciaActivity.this,PerfilActivity.class);
                      startActivity(perfilpage);


                  }
                  else{Toast.makeText(DenunciaActivity.this,
                          "Descreva em Detalhes a Ocorrência!",
                          Toast.LENGTH_SHORT).show();
                  }

              }
              else{Toast.makeText(DenunciaActivity.this,
                      "Preencha o Endereço da Ocorrência presenciada!",
                      Toast.LENGTH_SHORT).show();
              }


              }
              else{Toast.makeText(DenunciaActivity.this,
                      "Preencha o titulo!",
                      Toast.LENGTH_SHORT).show();
              }





        }
    });











}



public void inicializarcamposdenuncia()

{
campoNVitima = findViewById(R.id.editTextNomeVitima);
campoIVitima = findViewById(R.id.editTextIdadeVitima);
campoNAgressor = findViewById(R.id.editTextNomeAgr);
campoIAgressor = findViewById(R.id.editTextIdadeA);
campoTitulo = findViewById(R.id.editTextTitulo);
campoDescricao = findViewById(R.id.editTextDesc);

botaoEfetuarDenuncia = findViewById(R.id.btn_cadastrarDenuncia);
carregDenun = findViewById(R.id.progressbarDenun);

}

}

Classe Modelo

package com.example.luisr.nossavoz.model;

import com.example.luisr.nossavoz.helper.ConfiguracaoFirebase;
import com.google.firebase.database.DatabaseReference;

public class Denuncia
{
private String id;
private String idUsuario;

public String getIdUsuario() {
    return idUsuario;
}

public void setIdUsuario(String idUsuario) {
    this.idUsuario = idUsuario;
}

private String nomeVitima;
private String idadeVitima;
private String nomeAgressor;
private String idadeAgressor;
private String  tituloOcorrencia;
private String enderecoOcorrencia;
private String descricaoOcorrencia;

public Denuncia(){}

public  void salvarDenuncia()
{

    DatabaseReference firebaseRef = ConfiguracaoFirebase.getFirebase();
    DatabaseReference denunciasRef = firebaseRef.child("denuncias").getRef();
    denunciasRef.setValue(this);
}



public String getId() {
    return id;
}

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

public String getNomeVitima() {
    return nomeVitima;
}

public void setNomeVitima(String nomeVitima) {
    this.nomeVitima = nomeVitima;
}

public String getIdadeVitima() {
    return idadeVitima;
}

public void setIdadeVitima(String idadeVitima) {
    this.idadeVitima = idadeVitima;
}

public String getNomeAgressor() {
    return nomeAgressor;
}

public void setNomeAgressor(String nomeAgressor) {
    this.nomeAgressor = nomeAgressor;
}

public String getIdadeAgressor() {
    return idadeAgressor;
}

public void setIdadeAgressor(String idadeAgressor) {
    this.idadeAgressor = idadeAgressor;
}

public String getTituloOcorrencia() {
    return tituloOcorrencia;
}

public void setTituloOcorrencia(String tituloOcorrencia) {
    this.tituloOcorrencia = tituloOcorrencia;
}

public String getEnderecoOcorrencia() {
    return enderecoOcorrencia;
}

public void setEnderecoOcorrencia(String enderecoOcorrencia) {
    this.enderecoOcorrencia = enderecoOcorrencia;
}

public String getDescricaoOcorrencia() {
    return descricaoOcorrencia;
}

public void setDescricaoOcorrencia(String descricaoOcorrencia) {
    this.descricaoOcorrencia = descricaoOcorrencia;
}

}


#2

Qual erro? Quando vc inicia o app, lá no rodapé do android studio tem um botão com o nome “4: run”, clica lá e vê o erro.


#3

Fala amigo,segue o que apareceu

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.luisr.nossavoz, PID: 5291
com.google.firebase.database.DatabaseException: Found a conflicting setters with name: settituloOcorrencia (conflicts with setTituloOcorrencia defined on com.example.luisr.nossavoz.model.Denuncia)
at com.google.firebase.database.obfuscated.zzbw$zza.(com.google.firebase:firebase-database@@16.0.3:509)
at com.google.firebase.database.obfuscated.zzbw.zza(com.google.firebase:firebase-database@@16.0.3:317)
at com.google.firebase.database.obfuscated.zzbw.zzc(com.google.firebase:firebase-database@@16.0.3:166)
at com.google.firebase.database.obfuscated.zzbw.zza(com.google.firebase:firebase-database@@16.0.3:60)
at com.google.firebase.database.DatabaseReference.zza(com.google.firebase:firebase-database@@16.0.3:292)
at com.google.firebase.database.DatabaseReference.setValue(com.google.firebase:firebase-database@@16.0.3:166)
at com.example.luisr.nossavoz.model.Denuncia.salvarDenuncia(Denuncia.java:42)
at com.example.luisr.nossavoz.activity.DenunciaActivity$1.onClick(DenunciaActivity.java:60)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)


#4

@Abner_Rodrigues Obrigado,não conhecia esse recurso do Android Studio , consegui resolver. Um Abraço e uma ótima semana !