Tecnologia do Blogger.
RSS

[androidbrasil-dev] [OT] Compartilhando experiências no desenvolvimento Android

Fala galera blz?


Venho aqui através desse OT comentar sobre algumas experiências interessantes que estou tendo com desenvolvimento em Android. O texto é meio extenso mas vale a pena ler...

Na empresa onde trabalho inicialmente dei sequencia no primeiro projeto Android, praticamente tudo "na unha" e fiz colocar em produção. Já fazem alguns meses que o pessoal tem utilizado sem problemas e o retorno é positivo.

Pintou então o segundo projeto, então aproveitei uma certa bagagem e experiência, para usar novos recursos, os quais detalho pra vocês.

O projeto consiste na montagem de pedidos dentro da empresa, onde é necessário buscar dados do sistema principal e no fim exportar os dados do Android para o sistema novamente.

Para "conexão" com o sistema principal, fiz a utilização de Webservice (SOAP - .aspx) feito em .NET (C#). O retorno dos métodos são no formato JSON. Resolvi usar o webservice padrão por ser mais simples e direto. Para converter meus objetos em JSON, utilizei da biblioteca Json.Net, o qual seu uso é extremamente simples e poderoso.

Já no Android, resolvi utilizar (pela primeira vez) o uso de ORM, e escolhi o greenDao. Seu uso é simples, possui uma boa documentação e grupo ativo. Além disso também utilizar a biblioteca KSoap2 para comunicação com o webservice, e também a biblioteca Gson para serializar os dados JSON nos meus objetos.

Durante o desenvolvimento, eis então que surge a primeira "dificuldade" - importar o cadastro completo de produtos (com tamanhos), serializá-los e salvar no banco de dados. Ao todo são 36.000 registros. 

O acesso ao webservice com KSoap2 foi muito satisfatório, até pela simplicidade do código. O acesso e retorno desses 36.000 registros se deu em média de 4 segundos.

A conversão da String Json usando Gson deu em média 3 segundos. Me surpreendi com o Gson também pela simplicidade de uso.

Por fim, para salvar minha lista de produtos, usei o ORM greenDao. Até o momento só tenho elogios, e seu uso é simples e objetivo. Para se ter ideia para salvar uma lista inteira basta chamar o método insertInTx( List<T> ) e passar a lista, ou objeto, etc.

[O mais interessante] Inicialmente, por não saber ao certo como gravar, acabei percorrendo a lista de produtos e salvando 1 a 1. Mas isso se tornou inviável, levando mais de 30 minutos para salvar. Recorri então a lista de discussão do greenDao, o me disseram para usar um método em especial - runInTx() o qual faz uso da classe Runable. Em resumo ele faz o tratamento de banco de dados numa transação apenas. Fui então testar. E NOVAMENTE ME SURPREENDI, MAS DESSE VEZ COM UM ENORME ESPANTO! De 30 minutos (ou mais) salvou meus 36.000 registros em apenas 2 segundos. Ponto muito mais que positivo pra esse ORM.

Pra finalizar, também aproveitei o embalo para fazer uso de Fragments (support) e  Sherlock ActionBar. Todos essas classes, e bibliotecas que mencionei vale a pena estudar e se me perguntaram o que eu recomendaria para desenvolvimento Android? TUDO: Gson, KSoap2, greenDao ORM, Fragments, Sherlock ActionBar.

Essa é minha experiência como programador Android e minha dica aos interessados! :)

--
Analista-Programador

--
 
 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário