Neste tutorial tenho o intuito de apresentar o usuário a uma simples utilização do h4Android para criar uma base de forma dinâmica baseado no modelo mapeado, bem como um pequeno exemplo de persistência baseado num objeto pertencente à uma classe mapeada.
Tutorial
1º Crie um novo projeto Android no Eclipse
- Informe o nome do projeto como testh4a.Informe a versão que deseja utilizar Android 2.2.
- Informe o nome do pacote br.org.h4a.test, neste ponto você já pode finalizar a criação do projeto;
3º De posse da biblioteca h4android_2_2 selecione seu projeto e adcione o JAR externo do h4Android.
Neste ponto seu projeto deve estar como o da imagem abaixo:
4º Bem neste ponto sua aplicação já está apta a utilizar o h4Android.
Crie um pacote qualquer no seu projeto para inserir as classes que devem ser mapeadas como entidade no banco de dados, eu criei um pacote com o seguinte nome br.org.h4a.test.model.
Dentro deste pacote vamos uma classe para utilizar no nosso exemplo. Crie a classe Contato com o seguinte conteúdo:
Assim que concluirmos o mapeamento desta classe não esqueça de criar os métodos getters e setters de cada atributo.
5º Mapeando a classe Contato:
Bem, agora basta criar os métodos getters e setters dos atributos.
6º Agora vamos por o h4Android para funcionar, iremos fazer uma chamada simples para inserir um objeto do tipo Contato.
Abra a classe Testh4aActivity esta é a activity principal da aplicação (aliás a única!!), o código da sua classe deve se parecer com a imagem abaixo:
logo após a linha 11 em que é chamado o método setContentView, vamos começar os testes do framework.
Digite as seguinte linhas de código:
Bem a partir deste ponto podemos simplesmente criar um objeto do tipo Contato, setar algumas informações e usar o método insert do PersistenceManagerA22 pm.
Inclua em seguida o seguinte trecho de código:
Bem agora é só por a aplicação no seu emulador ou no seu dispositivo com Android e executar, caso use o Eclipse aproveite para acompanhar no LogCat pois o h4Android esta configurado para mostrar o seu log de mensagens.
Seguem algumas imagens da aplicação rodando:
Perceba que o framework acaba de criar a seguinte estrutura
CREATE TABLE TBL_CONTATO_
(_CELULAR VARCHAR(14),
_EMAIL TEXT,
_ID INTEGER PRIMARY KEY AUTOINCREMENT,
_NOME VARCHAR(50) NOT NULL,
_TELEFONE VARCHAR(14) NOT NULL,
_VERSION INTEGER NOT NULL
);
e logo em seguida inseriu o objeto do tipo contato. Você pode copiar esta base do emulador para o seu pc e acessar diretamente pelo console usando o cliente do próprio SQLite o sqlite3 e dar um “select * from TBL_CONTATO_;” para confirmar o objeto inserido.
Segue print com o sql executado:
Espero sinceramente que lhes seja útil. Acredito que o conhecimento só tem valor quando compartilhado. Peço a todos os interessados que tenham um pouco de paciência pois estou com uma série de novas funcionalidade a serem implementadas. Eu sei que existem inúmeros outras ferramentas na comunidade que se propõe a realizar a mesma tarefa, mas o que me impulsionou a iniciar este desafio foi a necessidade de algo que não fosse intrusivo demais no meu código, e isto tentei seguir ao máximo.
Uma boa noite a todos,
Fiquem com DEUS.
Carlos Timoshenko Rodrigues Lopes
ps.: Encontra-se disponível no site http://code.google.com/p/h4android/ um projeto exemplificando o que foi mostrado neste artigo.