Pular para o conteúdo principal

Maven + Eclipse + Android ( + RoboGuice)

E aí galera, mais um post sobre Android. A pedido de umas pessoas (aqui mesmo no blog) vou mostrar neste post como integrar o maven aos seus projetos android usando o Eclipse (Versão Indigo) como IDE, e de cara ver como o mesmo funciona adiciona as dependências do framework que falei há pouco tempo: o Roboguice.


Trabalhar com o maven é bem simples, e conforme venho pregando sobre as "coisas" do Google, trabalhar com o maven para android é mais simples ainda.

Tudo que precisa fazer é instalar os plugins corretos, uma vez que vamos estar trabalhando com o eclipse (ou pelo menos deveríamos, hehe), e criar os projetos usando os recursos dos mesmos. Também é suposto que esteja usando as versões mais recentes das referidas ferramentas.

Então vamos lá! Primeiro faça o download dos seguintes softwares necessários:
  1. Eclipse IDE, versão superior a Helios;
  2. Plugin ADT para o eclipse (caso ainda não o tenha);
  3. O plugin do Maven para o eclipse (caso ainda não o tenha);
  4. E por fim o plugin Maven Integration for Android Development Tools. Update site aqui!
Todos seguem a sequencia padrão de instalação de plugins do eclipse:
Help -> Install New Software -> Add ...

Lembrando que estes plugins também podem ser instalados via Eclipse Market Place.

Nota: Como faço para verificar se um plugin já está instalado no meu eclipse? Simples: Help -> About eclipse SDK -> Installation Details -> Installed Software

Agora o processo é mais simples ainda. Temos duas vertentes de projetos android-maven para seguir: os que já existem e precisam ser migrados, e os que ainda vão ser criados.
  • Os que já existem
Se você já tem um projeto e deseja migrá-lo para o maven, siga os passos:
  1. Import -> Maven > Existing Maven Project;
  2. Busque o projeto no teu workspace e clique em Finish;
  3. Pronto, projeto pronto para usar o maven.
O próprio plugin se responsabiliza por gerenciar as dependências, porém é necessário add o seu arquivo pom.xml caso o mesmo não seja gerado automaticamente, como veremos abaixo.
  • Os que ainda não existem
Para novos projetos, o processo de criação é mais passível de não ter problemas, uma vez que toda a estrutura será zerada do zero.

Siga os passos:
  1. Crie um novo projeto em "File -> New -> Project...";
  2. Selecione "Maven -> Maven Project" e próximo duas vezes...;
  3. Clique em "Add Archetype..." e preencha a wizard com as informações presentes na Imagem 1;
  4. Vá clicando em Next, Finish, até o fim da criação do projeto.
Figura 1. Criando Archetype maven
Repare que um diretório chamado "Maven Dependencies" será criado automaticamente pelo plugin para gerenciar suas dependências de acordo com as especificações do arquivo pom.xml (Figura 2).

Figura 2. Dependências Maven
Basicamente, no teu arquivo pom.xml você terá as dependências do android e no nosso caso, do Roboguice. Ficará mais ou menos assim:
Figura 3. Dependências Android/Roboguice
Prontinho, espera o maven atualizar as libs e mãos à obra com estes camaradas! :)

Para maiores informações, veja o link do projeto maven-android-plugin:  http://code.google.com/p/maven-android-plugin/wiki/GettingStarted.


Comentários

Postagens mais visitadas deste blog

Como acessar um iframe e seus elementos via jQuery?

Recentemente tive  um problema no projeto pois sentiu a necessidade de acessar um valor de um input que estava dentro de um iframe. Esse tipo de situação não é tão comum, uma vez que geralmente acessamos os valores do iframe para fora. Para acessar, de dentro de um iframe, um valor externo, utilizamos o seguinte código: $('#idDoElementoExterno', parent.document).val(); Entretanto, nunca tínhamos passado pela situação contrária. Pesquisando um pouco descobrimos uma alternativa, porém em JavaScript. Para ficar melhor o entendimento, vamos simular uma situação aqui. Temos uma página html "A.html" e dentro da mesma existe um iframe que aponta (src) para uma página "B.html": <!-- A.html --> <html> <head> <title>Testando iframe - jQuery</title> <script language="JavaScript"> function exibeValor() { // alert aqui! } </script> </head> <body> <input typ

Integrando Android e PayPal com Java e MySQL - Parte 2

Na primeira parte deste artigo, nós cobrimos toda a configuração inicial do ambiente, envolvendo principalmente o projeto Java Web com Restful, as bibliotecas e ferramentas envolvidas, bem como suas respectivas versões. Criamos também toda a comunicação com o banco de dados, o modelo Entidade-Relacionamento, o SQL gerado e as configurações da API do PayPal SDK para Java. Nessa parte, focaremos em finalizar a aplicação de modelo, principalmente no lado Android, testando tudo de forma local. Você poderá efetuar o download do código fonte diretamente do meu GitHub, no botão abaixo: DOWNLOAD CÓDIGO Na Figura 1 abaixo você pode visualizar como ficarão nossas telas ao final da implementação: Configurando o projeto Android Antes de criar o projeto, precisamos efetuar o download do PayPal Android SDK . Extraia os arquivos em uma pasta de preferência. Mais uma vez, você pode se sentir à vontade para usar o Eclipse Android Bundle ou o AndroidStudio para programar a parte Andr

[SoapUi] Removendo comentários "Optional" em Web Services

O SoapUI é uma ferramenta de geração de testes client criada para facilitar a vida tanto de desenvolvedores quanto dos testers de Web Services. Através dela, o usuário tem a possibilidade de gerar projetos a partir da URL do WSDL do serviço. Através disso uma requisição de ação (request action) será gerada com os parâmetros do método requerido já carregados inicialmente. Independente da tecnologia WS usada, o SoapUI tem o poder de reconhecer os parâmetros, em vista da universalidade do xml usada na especificação. Além disso, é possível observar também a presença do comentários que vem precedidos de cada campo. Como mostrado na figura abaixo. Figura 1. Código exemplo de request action no SoapUi Esse tipo de comentário existe para o caso em que o número mínimo de ocorrências para o parâmetro é zero. Se o elemento for obrigatório o SoapUi não exibe nada acima. E é ainda onde entra a questão... Como fazer? Suponha que você tenha um WSDL semelhante ao exibido na listagem aba