Olá, galera da Comunidade! Neste post introdutório, você irá aprender tudo que precisa para iniciar o desenvolvimento na plataforma Android, desde a configuração do ambiente até a execução de apps no emulador e também em dispositivos reais, utilizando a nova IDE Android Studio e o novo sistema de build Gradle. Ao término, você estará apto para:
- Entender como configurar o ambiente de desenvolvimento utilizando o Android Studio
- Entender sobre as principais ferramentas do SDK
- Construir um projeto no Android Studio
- Entender como é a estrutura de um projeto no Android Studio
- Como executar a app utilizando emulador e no dispositivo físico
Por mais que este artigo seja para iniciantes, serão ensinadas boas práticas de desenvolvimento para serem seguidas independente da sua experiência com a plataforma. Este post será bem prático! Por isso, levarei em consideração que conceitos fundamentais de uma app, como Intent, Activity, Android Manifest já são de domínio do seu conhecimento. Caso contrário, leia este starter guide antes de prosseguir.
Por onde começar?
Todo mundo me pergunta qual um bom material para ler quando estamos começando em Android. Eu sempre respondo: o Android Developer Guide, que é continuamente atualizado pelo time da Google responsável pela evolução da plataforma. Esse guia é excelente, bem documentado e gratuito! Nele você tem acesso aos materiais necessários para criar e evoluir suas apps, abrangendo o desenvolvimento, design e distribuição da sua app. Porém, existem várias outras referencias (livros, blogs, comunidades, etc) em Português que você pode utilizar, caso não tenha domínio do Inglês. Ao término deste post, disponibilizei vários links que considero essenciais para o desenvolvimento Android. Dê uma olhada.
Ambiente de Desenvolvimento
Android SDK
Você sabia que é possível criar uma app Android apenas por meio de linhas de comando como essa abaixo?
$> android create project --target <target_ID> --name <nome_do_seu_projeto> --path caminho/para/seu/projeto \\\\ --activity <nome_da_sua_activity_inicial> \\\\ --package <nome_do_pacote_da_app>
O Android SDK é um conjunto de utilitários necessários para gerenciamento de todo o ciclo de vida de um projeto, desde a compilação, geração de bytecodes android, empacotamento, extras, emulador de dispositivos, etc. É importante para um bom desenvolvedor Android saber sobre os principais componentes, pois isso permite que ele possa manter projetos android independente de IDE, como por exemplo, executar algumas rotinas por meio de um integração contínua (ex: Jenkins, Travis CI, etc), até a geração automatizada de builds. Neste link, você pode explorar todos os utilitários do SDK.
IDEs
Apesar do SDK prover o essencial para construir uma app Android, ela não é tão produtiva assim, pois todas as tarefas são realizadas por meio de linhas de comando ou, no máximo, scripts. Mas não se desanime! Para nossa alegria, a Google desenvolveu duas IDEs que já possuem integração com os componentes do SDK e editores gráficos fantásticos que aumentam muito a produtividade. E o mais legal: elas são totalmente grátis! São elas: Android Developer Tools (ADT) baseada no Eclipse; e a mais recente, a Android Studio, baseada na IDE Intelli J IDEA. No ano passado, a Google depreciou o ADT (disponível há 7 anos, desde sua concepção) e lançou o Android Studio 1.0 como a nova IDE oficial. Foram 2 anos (1 ano como Preview e outro como Beta) de intenso trabalho dos engenheiros da Google para corrigir bugs e evoluir a IDE de acordo com feedbacks da comunidade de desenvolvedores do mundo todo.
Android Studio: a nova IDE do desenvolvedor Android
Todo o esforço da comunidade de desenvolvedores em evoluir a Android Studio, não foi em vão. Agora com a plataforma sendo estendida para vários dispositivos, como relógios inteligentes (Android Wear), TVs (Android TV) e até mesmo carros (Android Auto), era necessário uma forma de construção de builds customizadas e suporte à geração de múltiplos APKs, que não erá possível utilizando o ADT e Apache Ant. Essa limitação foi resolvida por meio de um novo sistema de build, o Gradle, que não é exclusivo para Android. Além disso, já possui suporte para as principais linguagens de programação, IDEs, ferramentas de automação, testes, etc.
Instalando o Java
Primeiramente, você irá precisar de uma JDK (JRE não é suficiente). Para isso, baixe o JDK neste link e instale-o conforme o seu sistema operacional (Linux, Windows ou Mac OS X)
Boa prática: configure as variáveis de ambiente $JAVA_HOME e $PATH para utilizar os binários por meio da linha de comando. Se não souber, acesse este link.
Instalando o Android Studio
Para instalar o Android Studio, siga os passos a seguir.
- Acesse O Android Developer Guide e clique na seção Tools. Clique em \\\”Download Android Studio\\\”.
- Na próxima tela, aceite os termos e clique no botão que for habilitado. Aguarde o término do download.
- Após o término do download, se seu sistema operacional for Linux, descompacte o arquivo .tgz baixado. Se for Windows ou Mac OS X, clique duas vezes para iniciar o instalador com o nome android-studio-bundle-<versao_da_build>.
Pronto! Agora, basta você iniciar o Android Studio e começar a desenvolver sua primeira app.
Criando o projeto Bizu Safo
Iremos iniciar o desenvolvimento da versão do Bizu Safo para Android, que é um agregador de links que foi exclusivamente desenvolvido por membros da Comunidade Tá Safo. Para iniciar a criação do projeto, siga os seguintes passos a seguir. O código-fonte deste projeto já está disponível no GitHub da Comunidade.
- Se for a primeira vez que você estiver iniciando o Android Studio, será aberta janela \\\”Welcome to Android Studio\\\”. Clique em Start a new Android Studio Project.
- Agora preencha o nome do seu projeto em Application Name. Em Company Domain, digite o domínio da sua empresa (ex: br.com.minhaempresa). Perceba que, automaticamente, o campo Package name é preenchido, compondo o pacote principal da sua app. Ainda assim, você pode alterar o nome do seu pacote clicando em Edit, no canto direito da tela. Ao finalizar, clique em Next.
- Na próxima tela, você irá configurar em quais os dispositivos sua app irá executar, que podem ser: smartphones ou tablets, TV, Wear ou Glass. Atenção: Cada tipo de dispositivo requer um SDK específico que pode ser instalado por meio do Android SDK Manager. Por enquanto, selecione apenas Phone and Tablet. Aqui vai uma dica: se você quiser saber a porcentagem mundial de dispositivos que sua app será compatível, clique em Help me choose. Quando tiver escolhido sua versão mínima do SDK, Clique em Next.
4. Nessa etapa, você poderá escolher templates para a tela inicial(Activity) da sua app, desde uma simples tela em branco, com suporte ao navigation drawer, com fragments e até uma tela que exibe mapas ou comunica com os serviços da Google Play. Selecione Blank Activity e clique em Next.
- Na tela seguinte do wizard, você irá escolher o nome da sua Activity. Perceba que, ao editar o nome (ex: PrincipalActivity) da Activity no campo Activity Name, automaticamente o campo referente ao layout (Layout Name), título (Title) e menu (Menu resource Name). Para finalizar a criação do projeto, clique em Finish.
A estrutura de um projeto no Android Studio
Para quem vem do desenvolvimento em ADT, irá logo perceber a diferença na estrutura de um projeto Android. Isso pois o Android Studio utiliza o Gradle como novo sistema de build, que além de se integrar com o Maven para realizar o gerenciamento de dependências, possui o conceito de módulo para cada sub-projeto criado, ao contrário do ADT, onde eram gerados vários projetos configurados como biblioteca que tinham que ser vinculados ao projeto alvo. Neste caso, o nome do projeto é BizuSafo e o módulo é o app. Dessa maneira, é possível criar vários módulos por exemplos para Android Wear, TV, carro em apenas um projeto. Legal, não é? 😉 A seguir estão detalhados os principais artefatos gerados.
- src/androidTest/java: é o pacote principal contendo as classes de testes
- src/main/java: é o pacote principal contendo as classes Java do módulo
- src/main/res: pasta dos recursos (layouts, imagens, animações, arquivos de internacionalização, etc)
- src/main/AndroidManifest.xml: descritor da app contendo as permissões, declaração de componentes (activity, service, broadcast receiver, etc)
- app/build.gradle: script Gradle contendo a configuração do módulo, como repositórios Maven, versão mínima do SDK (minSdkVersion), versão alvo do SDK (targetSdkVersion), etc
- BizuSafo/build.gradle: script Gradle contendo a configuração global do projeto. Este arquivo contém configurações que é compartilhada com todos os outros módulos (ex: repositórios Maven)
- BizuSafo/gradlew e gradlew.bat: são os scripts para chamadas às rotinas do Gradle. Por exemplo, executando o comando gradlew assembleDebug irá gerar um arquivo .apk do projeto para o build type debug, que está contido no arquivo app/build.gradle. Se estiver no Windows, execute o arquivo gradlew.bat.
- BizuSafo/settings.gradle: arquivo de configuração que informa as dependências dos módulos do projeto
Criando AVDs
O ideal é desenvolver utilizando o próprio dispositivo. Porém, ter todos os tipos de devices não é quase impossível e requer um bom inve$timento. Para isso, podemos criar dispositivos virtuais, conhecidos como Android Virtual Device (AVD) para emular por exemplo uma app sendo executada num smartphone com arquitetura Intel x86, com Android 5.0 Lollipop, com suporte a SD Card, rede 3G latente, etc. Para criar um AVD, basta irmos em Tools > Android > AVD Manager ou clicar simplesmente no ícone correspondente na barra de ferramentas global, localizada no topo da IDE. A seguir, será descrito passo a passo para criar um AVD.
- Clique em Create Virtual Device… para iniciar a criação de um AVD.
- Na tela seguinte, escolha o tipo (Phone, Tablet, Wear ou TV) e o modelo do dispositivo para qual deseja criar o AVD. Clique em Next.
3. A seguir, escolha a imagem do sistema (ARM, Intel x86, Intel x86_64, MIPS) ao qual deseja atribuir ao AVD. Uma grande facilidade trazida pela nova versão do AVD Manager, é que agora é possível realizar o download diretamente de um sistema de imagem caso ainda não esteja instalado. Uma dica essencial: se sua arquitetura for Intel, utilize o Intel Hardware Accelerated Execution Manager (HAXM) que aumenta significativamente a performance do emulador Android. Nesse link, está descrito passo a passo como instalar e configurar o Intel HAXM de acordo com a sua plataforma. Clique em Next.
- Na próxima tela, você irá confirmar as informações fornecidas até então e ainda poderá configurar informações do AVD, como descrição, orientação ou alterar configurações anteriores. Caso queira alterar tamanho da memória RAM, tamanho da heap, tamanho do SD Card, etc, clique no botão Show Advanced Settings, localizado abaixo. Clique em Finish para finalizar a criação do AVD.
- Pronto! se tudo der certo, o seu novo AVD irá aparecer na lista. Para iniciar o AVD, selecione-o e clique no botão verde de play. Nesse momento, o emulador do SDK será chamado para carregar o AVD recentemente criado. Esse processo pode demorar um pouco e vai depender da configuração da sua máquina, quanto você possui de memória RAM disponível para executar o AVD, etc.
Executando o aplicativo
No emulador
Existem basicamente duas formas de você executar uma app no emulador. Primeiramente, você pode iniciar o AVD criado e depois clicar no ícone de play verde ao lado da descrição do módulo, neste caso, o app. Nesse momento, será apresentada uma tela com a lista de AVDs para executar sua app. Selecione um e clique em OK. Como a imagem do sistema já estará em execução, a app será carregada no emulador quase que instantaneamente. Outra maneira, é clicar diretamente no botão de execução do módulo e seguir os mesmos passos até a finalização do boot do emulador e depois a inicialização da app.
No dispositivo físico
Caso você possua um dispositivo físico, você deverá seguir os seguintes passos.
- Habilite seu dispositivo para modo Depuração USB (USB Debugging) indo em Configurações > Sobre o telefone > e marque a opção Depuração USB.
- Se sua máquina for Windows, você precisará instalar os drivers USB de acordo com o seu fabricante. Neste link, você confere como instalar o driver USB de acordo com o fabricante do seu dispositivo. Caso sua máquina esteja rodando Linux, você precisará adicionar uma regra udev no arquivo /etc/udev/rules.d/51-android.rules e adicionar a linha a seguir, para cada dispositivo que deseja configurar:
SUBSYSTEM==\\\"usb\\\", ATTR{idVendor}==\\\"0bb4\\\", MODE=\\\"0666\\\", GROUP=\\\"plugdev\\\"
Veja neste link, detalhes de como criar regras udev. Depois execute o comando:
chmod a+r /etc/udev/rules.d/51-android.rules
Caso a sua máquina esteja rodando Mac OS X, não é necessário baixar drivers. Pule este passo.
- Plugue o cabo USB entre sua máquina e dispositivo. Se o seu aparelho estiver rodando Android 4.1 (Jelly Bean) ou superior, será exibido um alerta de confirmação para habilitar o seu dispositivo de forma segura, com criptografia RSA. Confirme e autorize.
- No Android Studio, clique na visão Android, localizada abaixo. Se tudo der certo, deverá aparecer o dispositivo na lista. Se preferir, execute o comando a seguir (lembre de configurar a variável PATH para \\\”enxergar\\\” os binários do SDK, que estarão disponíveis em $ANDROID_HOME/sdk/tools)
$> android devices
Se seu dispositivo for listado, você está habilitado para executar sua app no dispositivo físico! \\\\o/
E agora?
Então, agora você já sabe como criar projetos no Android Studio. Parabéns! Dê uma olhada nos links abaixo que lhe servirão de guias em toda a sua carreira de desenvolvedor Android que começa agora! No próximo post, iremos aprender como criar UIs minimalistas no Android Studio, de acordo com os guidelines de design. Até a próxima! 😉
Android Developer Guide
Android Design Guide
Android Distribute Guide
Android Developers
Desenvolvedores Google
StackOverflow
GitHub do Tá Safo
Dev Bytes no YouTube
Deixe um comentário