Android - Salvar no Banco de dados.

Android

Java

27/09/2015

Olá tudo bem?, estou fazendo um exercicio da faculdade aonde tenho que clicar em um menu e salvar/alterar/buscar no banco de dados, porém quando eu clico nos botões falam que meus métodos estão errados. Tentei procurar na internet e não achei a solução. Segue abaixo os codigos. Caso esteja totalmente errado sejam sinceros que começo a fazer do zero. Tenham um otimo domingo.

Main Activity


public class MainActivity extends AppCompatActivity {

    Button btnIr;
    Button btnLigar;
    Button btnConfirma;
    TextView txtResultado;
    TextView txtResultado2;
    EditText edtsite;
    EditText edttlefone;
    EditText edttendereco;
    EditText edtnome;
    EditText edtcodigo;

    ContatoDAO dao;

    final int Menu_Salvar = 1;
    final int Menu_Buscar = 2;
    final int Menu_Alterar = 3;
    final int Menu_Excluir = 4;



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

        dao = new ContatoDAO(this);
        txtResultado = (TextView)findViewById(R.id.txtResultado);
        edttendereco = (EditText)findViewById(R.id.main_edtendereco);
        edtnome = (EditText) findViewById(R.id.main_edtnome);
        edtsite = (EditText) findViewById(R. id.main_edtsite);
        edttlefone = (EditText) findViewById(R.id.main_edttelefone);
      //  txtendereco.setText("Teste endereco ");
        edtcodigo = (EditText) findViewById(R.id.main_edtcodigo);
        btnConfirma = (Button)findViewById(R.id.main_btnConfirma);
        btnIr = (Button) findViewById(R.id.btnIr);





    }






    public void setarTexto(View view){
        txtResultado.setText("Nome: "+edtnome.getText().toString()+"\r\n"+"Endereço:  "+edttendereco.getText().toString()+"\r\n"+"Telefone:  "+edttlefone.getText().toString()
      +"\r\n" + "Site:  "+edtsite.getText().toString()

        );


    }

    public void limparTexto(View view){
        txtResultado.setText("");

    }



    protected void onSaveInstanceState(Bundle outState){
        super.onSaveInstanceState(outState);
        outState.putString("valor", txtResultado.getText().toString());

    }

    public void fazerLigacao(View view){


    //comando para fazer a ligação
        Intent intent = new Intent(Intent.ACTION_CALL);

        intent.setData(Uri.parse("tel:" + edttlefone.getText()));
       // intent.setData(Uri.parse(uri));
        startActivity(intent);
    }

    public void acessarsite(View view){

        Uri uri = Uri.parse("https://"+edtsite.getText().toString());


        Intent irparaosite = new Intent(Intent.ACTION_VIEW, uri);


        startActivity(irparaosite);
    }




    public boolean onCreateOptionsMenu(android.view.Menu menu) {
        super.onCreateOptionsMenu(menu);
        menu.add(0, Menu_Salvar, 0, "Salvar");
        menu.add(0, Menu_Buscar, 0, "Buscar");
        menu.add(0, Menu_Alterar, 0, "Alterar");
        menu.add(0, Menu_Excluir, 0, "Excluir");
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        super.onOptionsItemSelected(item);

        switch (item.getItemId()){

            case Menu_Salvar:
                salvarContato();
                break;
            case Menu_Alterar:
                updateContato();
                break;

            case Menu_Buscar:
                buscarContato();
                break;

            case Menu_Excluir:
                deletarContato();
                break;
        }
        return true;
    }

    public void salvarContato(){



        Contato contato = new Contato();

        contato.setCodigo(new Long(edtcodigo.getText().toString()));
        contato.setNome(edtnome.getText().toString());
        contato.setTelefone(edttlefone.getText().toString());
        contato.setEndereco(edttendereco.getText().toString());
        contato.setSite(edtsite.getText().toString());
        dao.salvar(contato);
        finish();


    }

    public void buscarContato(){



        Contato contato = dao.buscar(edtcodigo.getText().toString());


        edtnome.setText(contato.getNome());
        edttlefone.setText(contato.getTelefone());
        edttendereco.setText(contato.getEndereco());
        edtsite.setText(contato.getSite());
    }

    public void deletarContato(){

        finish();
    }

    public void updateContato(){



        Contato contato = new Contato();
        contato.setCodigo(new Long(edtcodigo.getText().toString()));
        contato.setNome(edtnome.getText().toString());
        contato.setTelefone(edttlefone.getText().toString());
        contato.setEndereco(edttendereco.getText().toString());
        contato.setSite(edtsite.getText().toString());

        dao.alterar(contato);

        finish();
    }






    }



Agora o codigo da classe Contato DAO


public class ContatoDAO {


    SQLiteDatabase db;

    public ContatoDAO(Context context){

        db = BancoDados.getDB(context);
    }


    public void salvar(Contato contato){
        ContentValues values = new ContentValues();
        values.put("nome", contato.getNome());
        //alterado
        values.put("telefone", contato.getTelefone());
        values.put("endereco", contato.getEndereco());
        values.put("site", contato.getSite());
        db.insert("tbl_contato", null, values);
        //db.insert("tblc_contato", null, values);


    }

    public Contato buscar(String codigo){
        String[] colunas = new String[]{"_id","nome", "telefone", "endereco", "site"};
        String[] args = new String[];
        Cursor c = db.query("tbl_contato", colunas, " _id = ?", args, null, null, null, null);
        c.moveToFirst();

        Contato contato = new Contato();

        contato.setCodigo(c.getLong((c.getColumnIndex("_id"))));
        contato.setNome(c.getString(c.getColumnIndex("nome")));
        contato.setTelefone(c.getString(c.getColumnIndex("telefone")));
        contato.setEndereco(c.getString(c.getColumnIndex("endereco")));
        contato.setSite(c.getString(c.getColumnIndex("site")));
        return contato;
    }

    public void deletar(String id){
        String[] args = new String[];
        db.delete("tbl_contato", "_id = ?", args);
    }

    public void alterar(Contato contato){
        ContentValues values = new ContentValues();
        values.put("nome", contato.getNome());
        values.put("telefone", contato.getTelefone());
        values.put("endereco", contato.getEndereco());
        values.put("site", contato.getSite());
        String[] args = new String[]{String.valueOf(contato.getCodigo())};
        db.update("tbl_contato", values, "_id = ?", args);
    }

    public List<Contato> listar(){

        String[] colunas = new String[]{"_id", "nome", "telefone", "endereco", "site"};

        List<Contato> contatos;
        Cursor c = db.query("tbl_contato", colunas, null, null, null
                , null, null, null);

        contatos = new ArrayList<Contato>();
        if (c.moveToFirst()){


            do {
                Contato contato = new Contato();
                contato.setCodigo(c.getLong(c.getColumnIndex("_id")));
                contato.setNome(c.getString(c.getColumnIndex("nome")));
                contato.setTelefone(c.getString(c.getColumnIndex("telefone")));
                contato.setEndereco(c.getString(c.getColumnIndex("endereco")));
                contato.setSite(c.getString(c.getColumnIndex("site")));
                contatos.add(contato);
            } while (c.moveToNext());

        }
        c.close();
        return contatos;
    }


}



E por fim o codigo da classe contato:

public class Contato {

    Long codigo;
    String nome;
    String telefone;
    String endereco;
    String site;

    public Long getCodigo() {
        return codigo;
    }

    public void setCodigo(Long codigo) {
        this.codigo = codigo;
    }

    public String getNome() {
        return nome;
    }

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

    public String getTelefone() {
        return telefone;
    }

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

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public String getSite() {
        return site;
    }

    public void setSite(String site) {
        this.site = site;
    }
}
Matheus Ribak

Matheus Ribak

Curtidas 0
POSTAR