Vamos aplicar o Floggy em uma agenda, a mesma que já vimos sem armazenamento persistente (Agenda sem banco) e com armazenamento usando RMS apenas (Agenda usando RMS).
Para quem não acompanhou ou não quer ver como foi feito o código da agenda não se preocupe! No final do post estaremos disponibilizando todo o código fonte para download.Para utilizar o Floggy precisamos adicionar em Bibliotecas & Recursos um .jar do framework Floggy e editar o build.xml do projeto. Para aprender passo a passo como fazer estes passos veja o post Como configurar o Netbeans para usar Floggy.
Agora vamos ao que interessa, o Floggy!
Precisamos guardar um nome e um telefone em cada registro do Record Store, para isso vamos criar uma classe Agenda que contem os atributos nome e telefone e esta classe irá implementar Persistable, assim cada objeto desta classe será armazenado em um registro no Record Store. A classe então fica a seguinte:
package hello;
import net.sourceforge.floggy.persistence.FloggyException;
import net.sourceforge.floggy.persistence.Persistable;
import net.sourceforge.floggy.persistence.PersistableManager;
public class Agenda implements Persistable {
private String nome;
private String telefone;
public Agenda(){
nome = null;
telefone = null;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getNome() {
return nome;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public void save(){
try{
PersistableManager.getInstance().save(this);
} catch (FloggyException ex) {
ex.printStackTrace();
}
}
}
O método save() será explicado logo adiante. Os demais são apenas getters e setters para pegar ou setar valores dos atributos nome e telefone.
Agora no código referente ao comando Inserir vamos fazer o seguinte:
if (command == cmdInserir) {
if(getTextFieldNome().getString().equals("")||getTextFieldTel().getString().equals("")){
getAlert().setString("Algum campo esta vazio! Preencha corretamente");
}else{
adicionarDadosAgenda();
getAlert().setString("Os dados foram inseridos com sucesso!");
getTextFieldNome().setString("");
getTextFieldTel().setString("");
}
switchDisplayable(getAlert(), getFormPrincipal());
}
Verificamos se os campos estão preenchidos corretamente e se eles tiverem chamamos o método adicionarDadosAgenda().
public void adicionarDadosAgenda(){
Agenda objetoAgenda = new Agenda();
objetoAgenda.setNome(textFieldNome.getString());
objetoAgenda.setTelefone(textFieldTel.getString());
objetoAgenda.save();
}
Cada vez que entrarmos neste método declaramos um objeto do tipo Agenda. Isto é necessário, pois cada novo objeto é um registro do banco. Se instanciarmos apenas uma vez e usarmos o mesmo objeto, os dados serão sobrescritos.
Depois setamos os valores de nome e telefone com o setNome e setTelefone, em seguida apenas chamamos o método save() da classe Agenda. O código da classe Agenda esta listado acima e dentro do método save() apenas chamamos uma operação do Floggy, a save(objeto). Esta operação salva um objeto no banco, o objeto que esta sendo passado como parâmetro é o objeto corrente da própria classe Agenda, por isso passamos o parâmetro this.
public void save(){
try{
PersistableManager.getInstance().save(this);
} catch (FloggyException ex) {
ex.printStackTrace();
}
}
Para exibir estes dados utilizamos o método listarDados().
Pronto! Está pronta nossa agenda com Floggy!
Para quem acompanhou o post J2ME: agenda utilizando RMS para a persistência de dados veja só a diferença: o Floggy evita muitas linhas de código, além de ser muito mais fácil e rápido.
Para fazer o download do projeto feito no Netbeans clique aqui.
6 comentários:
Estou com um problema qdo eu importo o pacote net.sourceforge.floggy.persistence, o netbeans acusa q ele não existe!!!
Eu fiz todo o procedimento de configuração no netbeans.
Olá Adriano!
Provavelmente o problema está ocorrendo porque o netbeans não está pegando a referência correta do .jar do floggy. Se for o caso clique em Recursos (do projeto) e remova o .jar que está fazendo referência, e adicione novamente. Isso deve resolver.
Att, JavaMovel
Olá javamovel, poderia dar um exemplo mas claro, sem usar a interface do netbeans (visual), poderia ser tudo no CODE mesmo... o que acha? abraços...
Somente eu ou ninguém mais consegue extrair os arquivos do rar?
Fizemos um teste aqui e o arquivo foi extraído sem problemas Leandro. Tente de novo.
Att, JavaMovel
comigo aconteceu o mesmo problema, o .rar está corrompido.
Postar um comentário