Fórum Android - Salvar no Banco de dados. #532922
27/09/2015
0
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
Agora o codigo da classe Contato DAO
E por fim o codigo da classe contato:
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)