Ver mensagens sem resposta | Ver tópicos ativos Hoje é 22 Nov 2019, 09:59



Responder Tópico  [ 9 Mensagens ] 
 [ARTIGO] H4Android - primeiro contato com o framework 
Autor Mensagem
What is Android?
What is Android?

Data de registro: 30 Set 2011, 12:41
Mensagens: 4
Mensagem [ARTIGO] H4Android - primeiro contato com o framework
H4Android

Desenvolvi um framework para orm no Android (é eu sei já existem alguns muito bons por sinal, so que no meus projetos eu buscava soluções o menos intrusivas possível e terminei chegando à conclusão de que era melhor eu desenvolver minha propria solução.).

Com o h4Android você não precisa extender suas classes de nenhuma interface, nem seguir "receita de bolo", você simplemente cria suas classes no estilo POJO e usa as anotações.

Vamos ao tutorial:

Objetivo

Neste tutorial tenho o intuito de apresentar o usuário a uma simples utilização do framework 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.

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;

2º Acesse a página do projeto no em http://code.google.com/p/h4android/, vá na aba Downloads e baixe o arquivo h4android_2_2-0.0.0.1.jar. Salve numa pasta de sua preferência.

3º De posse da biblioteca h4android_2_2 selecione seu projeto clique no botão direito do mouse e selecione a opção propriedades, selecione a opção Java Build Path, na aba Libraries clique em Add External JARs... localize a biblioteca h4android_2_2, em seguida clique no botão OK.

4º Bem neste ponto sua aplicação já está apta a utilizar o framework. Vamos lá então:

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:


package br.org.h4a.test.model;

public class Contato {

    private Integer id;
    private Integer version;
    private String nome;
    private String telefone;
    private String celular;
    private String email;

}
 


Assim que concluirmos o mapeamento desta classe não esqueça de criar os métodos get e set de cada atributo.

Vamos ao mapeamento então:


package br.org.h4a.test.model;

@Entity
@Table("TBL_CONTATO_")
public class Contato {

    @Id
    private Integer id;
    @Version
    private Integer version;
    @Column(name = "_NOME", length = 50, allowNulls = false, typeColumn = TypeColumn.VARCHAR)
    private String nome;
    @Column(name = "_TELEFONE", length = 14, allowNulls = false, typeColumn = TypeColumn.VARCHAR)
    private String telefone;
    @Column(name = "_CELULAR", length = 14, typeColumn = TypeColumn.VARCHAR)
    private String celular;
    @Column(name = "_EMAIL")
    private String email;

}

 


A explicação detalhada de cada anotação esta no documento na página do projeto.
Bem, agora basta criar os métodos get e set 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!!). Logo após a linha que contem o código setContentView, vamos começar os testes do framework.
Digite as seguintes linhas:


        //**********************************************************************
        PersistenceManagerA22 pm = null;        
        List<String> classes = new ArrayList<String>();
        classes.add("br.org.h4a.test.model.Contato");        
        try {
            pm = new PersistenceManagerA22(
            /*contexto para conexão*/         this,        
            /*nome para a base de dados*/     "base_da_aplicacao_testh4a.db",
            /*versao da base de dados*/       1000,
            /*lista string com as entidades*/ classes ,
            /*modo de conexão do android*/    Context.MODE_PRIVATE,
            /*modo de conexao do framework*/  ModelBeavior.RENEW,
            /*habilita o log do framework*/   1
                                          );
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        //**********************************************************************
 


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:

        Contato contato = new Contato();
        contato.setVersion(1000);
        contato.setNome("Carlos Timoshenko");
        contato.setTelefone("85 0000 0000");
        contato.setEmail("carlostimoshenkorodrigueslopes@gmail.com");
       
        // Neste ponto quando o framework tentar inserir o objeto contato, será
        // detectado que a base ainda nao existe e h4android ira gerar o ddl da
        // base e gerar a mesma do "zero".
        // Como o log esta ativado poderemos ver o feedback do framework criando
        // as tabelas e inserindo um objeto do tipo Contato
        pm.insert(contato);
        pm.close();
 


Bem agora é só por a aplicação para rodar e acompanhar o LogCat no Eclipse mostrando as mensagens do h4Android.

Quando você por sua aplicação para rodar o h4android tentará persistir um objeto do tipo Contato, como a base de dados não existe então o framework gera o DDL do seu banco e cria para você, além de inserir o objeto de forma transparente.

Você pode copiar esta banco de dados SQLite que foi criado no 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.

Bem espero que esta ferramenta lhes seja útil, adianto que a mesma se encontra em uso pois atende ao basico de um crud, porém ja estou desenvolvendo novas funcionalidades. Coloco-em à disposição para eventuais dúvidas.

Boa tarde.

ps.: Já se encontra disponível para download no site do projeto uma aplicação exemplo com o código apresentado neste artigo.


Editado pela última vez por timoshenko em 25 Out 2011, 10:13, num total de 1 vezes



19 Out 2011, 19:35
Perfil
Developing Applications
Developing Applications
Avatar de usuário

Data de registro: 30 Dez 2007, 13:08
Mensagens: 548
Localização: Florianópolis - SC
Mensagem Re: [TUTORIAL] H4Android - primeiro contato com o framework
parabéns timoshenko!!

_________________
Google

Siga o Portal Android no twitter: @portal_android

- Nunca deixe de compartilhar a solução de algum problema;
- Críticas, dúvidas ou sugestões relacionadas ao Portal Android? Participe do Portal;
- Venda, troca, compra? Classificados;
- Faça uma busca antes de postar, sua dúvida já pode ter sido respondida. Mecanismo de busca 1, Mecanismo de busca 2;
- Não crie tópicos com títulos tipo "AJUDA URGENTE", "IMPORTANTE", "AJUDA POR FAVOR", "ESTOU DESESPERADO", etc...


19 Out 2011, 21:34
Perfil ICQ WWW
Android Guru
Android Guru
Avatar de usuário

Data de registro: 29 Ago 2011, 16:18
Mensagens: 789
Localização: Blumenau - SC
Mensagem Re: [ARTIGO] H4Android - primeiro contato com o framework
Muito boa iniciativa, parabéns!

_________________
Sanou a sua dúvida ou resolveu o seu problema?
1º -> Compartilhe a solução postando-a, as pessoas com a mesma dúvida ou problema agradecem.
2º -> Adicione ao título do tópico "[RESOLVIDO]" para que os moderadores identifiquem que o seu tópico foi realmente resolvido.


_____
WordPress: http://tecmaicon.wordpress.com/
github: https://github.com/maiconn
LinkedIn: http://www.linkedin.com/pub/maicon-mach ... /64/a07/20


20 Out 2011, 09:17
Perfil WWW
What is Android?
What is Android?

Data de registro: 29 Nov 2011, 10:49
Mensagens: 2
Mensagem Re: [ARTIGO] H4Android - primeiro contato com o framework
Muito bom mesmo !

Você poderia fazer exemplos de consulta ao banco de dados ? Só consigo achar exemplos de inserção...

Att,

Felipe


29 Nov 2011, 10:52
Perfil
What is Android?
What is Android?

Data de registro: 30 Set 2011, 12:41
Mensagens: 4
Mensagem Re: [ARTIGO] H4Android - primeiro contato com o framework
Felipe, bom dia.
Obrigado pelo apoio, já estou preparando outro artigo inclusive abordando as consultas, até a próxima semana eu posto pra comunidade.

Abraços.


01 Dez 2011, 10:12
Perfil
What is a Activity?
What is a Activity?

Data de registro: 28 Fev 2012, 18:09
Mensagens: 18
Mensagem Re: [ARTIGO] H4Android - primeiro contato com o framework
Parabens!


12 Jul 2012, 16:24
Perfil
What is a Activity?
What is a Activity?

Data de registro: 06 Mai 2012, 20:36
Mensagens: 15
Localização: Rio de Janeiro
Mensagem Re: [ARTIGO] H4Android - primeiro contato com o framework
Parabéns timoshenko ! Excelente iniciativa pelo Framework e de fácil implementação e compreensão das funcionalidades. E agora bora terminar as outras funcionalidades /zz

_________________
Halyson Lima Gonçalves
Software Developer OS Android


04 Set 2013, 20:20
Perfil
Android application
Android application

Data de registro: 22 Mar 2012, 11:35
Mensagens: 85
Mensagem Re: [ARTIGO] H4Android - primeiro contato com o framework
Muito bom tutorial amigo! Só uma dúvida..

Você teria os outros métodos ai para um crud básico? No seu exemplo você mostrou como inserir um contato.. você teria desenvolvido o excluir e o atualizar também? Obrigado


29 Out 2013, 11:08
Perfil
Android application
Android application

Data de registro: 22 Mar 2012, 11:35
Mensagens: 85
Mensagem Re: [ARTIGO] H4Android - primeiro contato com o framework
Olá amigo! muito bom tutorial, tenho uma dúvida!

Você teria as outras funcionalidades de um CRUD básico?

No seu exemplo você explicou como inserir um registro, você teria o excluir um registro, atualizar um registro e listar todos os registros?

Obrigado


29 Out 2013, 11:10
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 9 Mensagens ] 

Quem está online

Usuários vendo este fórum: (_FM_), adilson, Adriano, alberto, alexandrepom, alexcost2002, allone, alsimoes, alylson, andepunk, Anderson MarkZ, Anderson.OL, augustomig, Beru Lars, bravus, breko, BTalhadas, btminzon, cabelo, caciara, Caique, cfranca, Chanceler Supremo Finis Valorum, Chefe Nass, chunga, Clauber, Crazy_Droid, Cristranus, cyzko, Damiani Oliveira, Danilo Dias, Darth Vader, Demerval, dirceuconte, emersonbarros, Eneias, erissi, espinhara.net, estratec, fabric01, flashking, gabrielpg, germanno, Google Android, Google Desktop, Guilherme, gusrp, gutodias, hebert, icarodavi, italoraony, jacard, jeanbr07, jhou, juliano, Juninhooooo, kennedyximenes, konos, laurj, Lelinho, leofernandesmo, levita, lillian.brandao, linukiss, Liviosousa, LucasNascimento, luciano.sml, lucianoedipo, Marcelo, marceloaragao, marcelosv, marcosrogel, marianatallas, Marlus Dias Silva, mauriciomag, Mayron Cimardi, mcroft, mirelli, mrangel, mtomazzi, nandopierre, neiesc, oliverlessa, otpor, paulovaz, persiomotta, phpower1, phsantos, PicsearchDroid, pmzara, polonia, r.wil, ramonsa, rananfu, raninhofernandes, rcotonet, regeriob2br, reginaldofdias, renan.fernandes, rodrigosalfer, romuloff, rsl_master, Shinigami, SidneiCP, soulmachine, tchou, thienne, tiagocordeiro, tnarnold, Topeca, ttaranto, wagner_francisco, washington, Wenceslau, Wesleyceraso, wilsond, WiseNut e 1 visitante


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:
cron

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi