Implementando o método para Gravar os Dados
A rotina GravarDados nos permite persistir os dados no SQLite. Sempre quando trabalhamos com Banco de Dados é recomendável utilizar o try/Catch. Segue a seguir a instrução.
public void GravarDados()
{
try
{
String strPro = "";
switch (rgCursos.getCheckedRadioButtonId())
{
case R.id.rbLiteDelphi : strPro = "The Club Lite (Delphi) - R$59,90";
break;
case R.id.rbLiteC : strPro = "The Club Lite (Delphi) - R$59,90";
break;
case R.id.rbProfessional : strPro = "The Club Lite (Delphi) - R$59,90";
break;
case R.id.rbStudent : strPro = "The Club Lite (Delphi) - R$59,90";
break;
}
String sql = "INSERT INTO TB_THECLUB (NOM_CLI, CID_CLI, EST_CLI, PRO_CLI) VALUES ('"
+ txtCliente.getText().toString() +"','"
+ txtCidade.getText().toString()+"','"
+ spEstado.getSelectedItem().toString()+"','"
+ strPro+"')";
BancoDados.execSQL(sql);
MensagemAlerta("Mensagem", "Dados salvos com Sucesso!");
}
catch (Exception e)
{
MensagemAlerta("Mensagem", "Erro ao gravar dados no Banco de Dados!"+e.toString());
}
finally
{
BancoDados.close();
}
}
O método “BancoDados.execSQL()” é responsável por montar a instrução de Insert no BD. O que fazemos de diferente aqui é que recuperamos os dados das respectivas variáveis (nome,cidade,estado e produto) e finalizando a instrução com uma mensagem informativa ao usuário. O método “BancoDados.close()” limpa o objeto da memória não permitindo recriá-lo desnecessariamente.
Implementando os métodos RegistroAnterior e RegistroPosterior
Estes métodos são reponsáveis por realizar a navegação entre os registros de nosso Banco de Dados. Novamente implementamos o Try/Catch, só que neste caso informaremos ao usuário caso não exista mais registros para navegação que ele está no primeiro ou último registro de nossa tabela.
public void RegistroAnterior()
{
try
{
cursor.moveToPrevious();
MostrarDados();
}
catch (Exception e)
{
MensagemAlerta("Mensagem", "Você está no primeiro registro!");
}
}
public void RegistroPosterior()
{
try
{
cursor.moveToNext();
MostrarDados();
}
catch (Exception e)
{
MensagemAlerta("Mensagem", "Você está no último registro!");
}
}
O método que faz este trabalho de navegação é o “cursor.moveToPrevious()” e o “cursor.moveToNext()”, sendo que o primeiro se movimenta para o registro anterior e o segundo para o posterior. Logo em seguida invocaremos o método MostrarDados() para preencher nossos respectivos objetos.
Métodos ChamaMenuPrincipal(), ChamaCadastro() e ChamaConsulta()
Estas rotinas já foram abordadas em artigos anteriores. Neste artigo foram implementadas novas funcionalidades para as mesmas.
public void ChamaMenuPrincipal()
{
setContentView(R.layout.main);
ChamaCadastro();
ChamaConsulta()
}
public void ChamaCadastro()
{
Button btCadastrar = (Button) findViewById(R.id.btCadastrar);
btCadastrar.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
setContentView(R.layout.cadastro);
btEfetuar = (Button) findViewById(R.id.btnEfetuar);
btEfetuar.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View arg0)
{
AbreouCriaBancoDados();
InicializaObjetos();
GravarDados();
}
});
Button btVoltarCadastro = (Button) findViewById(R.id.btVoltarCadastro);
btVoltarCadastro.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
ChamaMenuPrincipal();
}
}
);
}
});
}
O botão “Efetuar” é encarregado de persistir os dados, então é nele que chamamos o método AbreouCriaBancoDados() – para abrir ou criar a estrutura, logo em seguida Inicializamos os objetos com o método InicializaObjetos() e finalizamos com o GravarDados(). Ver Imagem 04.
Figura 04: Tela de Cadastro Finalizada.
public void ChamaConsulta()
{
Button btConsultar = (Button) findViewById(R.id.btConsultar);
btConsultar.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
setContentView(R.layout.consulta);
AbreouCriaBancoDados();
InicializaObjetos();
BuscarDados();
MostrarDados();
Button btAnterior = (Button) findViewById(R.id.btAnterior);
btAnterior.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View arg0)
{
RegistroAnterior();
}
}
);
Button btPosterior = (Button) findViewById(R.id.btPosterior);
btPosterior.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View arg0)
{
RegistroPosterior();
}
}
);
Button btVoltarConsulta = (Button) findViewById(R.id.btVoltarConsulta);
btVoltarConsulta.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
ChamaMenuPrincipal();
}
}
);
}
}
);
}
No ChamaConsulta() também inicializamos o método AbreouCriaBancoDados(), logo em seguida o InicializaObjetos(). O próximo passo utilizamos o BuscarDados() e por final o MostrarDados(). Como nesta tela utilizamos mais outros dois controles para navegação entre os registros, então é aqui o local de chamar o RegistroAnterior() e o RegistroPosterior(), ambos para navegação entre os dados. Ver Imagem 05.
Figura 05: Tela de Consulta Finalizada.
Conclusão
Procurei neste artigo abordar de uma forma simples a persistencia de dados utilizando o sistema Android. Dividi em pequenas rotinas cada estrutura para podermos dar uma maior abordagem sobre o assunto. Finalizamos duas telas principais, uma de Cadastro e outra de Consulta.
Abraço e até o mês que vem!
Nenhum comentário:
Postar um comentário