Capítulo 1. Construa sua primeira aplicação
Figura 1.16: Menu Run
Ops! Algum problema aconteceu. Surgiu uma caixa de diálogo dizendo que não
temos nenhum dispositivo compatível instalado.
Figura 1.17: Nenhum dispositivo virtual configurado
De fato, não criamos nenhum dispositivo virtual (Android Virtual Device, AVD) 17
1.3. Escreva o Hello World!
Casa do Código
para rodar nossa aplicação! Vamos aproveitar e fazer isso agora, respondendo Yes à pergunta se queremos criar um dispositivo. A caixa de diálogo é fechada e o aplicativo Android Virtual Device Manager será iniciado.
Na tela apresentada, clique em New para criar um novo dispositivo virtual. Faça a configuração conforme na figura 1.18.
Figura 1.18: Criando um novo dispositivo virtual
Agora é só executar o projeto novamente. Como já existe um AVD criado para
a plataforma alvo do nosso aplicativo, o emulador será iniciado automaticamente.
A inicialização do emulador pode demorar um pouco, aproveite para buscar uma
xícara de café. Quando retornar, o aplicativo já deve ter sido iniciado no emulador e uma tela semelhante a esta será mostrada:
18
Casa do Código
Capítulo 1. Construa sua primeira aplicação
Figura 1.19: Hello Android!
Dica
Não é necessário reiniciar o emulador para testar uma nova versão,
então a dica é mantê-lo sempre aberto para economizar o tempo de ini-
cialização.
1.4
Conheça a estrutura do projeto
Já temos a primeira versão do nosso
Hello World. É bem verdade que ainda não
fizemos nenhuma codificação, então vamos analisar a estrutura do projeto e tudo aquilo que foi gerado automaticamente para que essa mágica acontecesse. Na figura 19
1.4. Conheça a estrutura do projeto
Casa do Código
1.20, podemos identificar cinco pastas principais ( src, gen, assets, bin, libs e res) além de uma referência para a biblioteca Android que está sendo utilizada: Figura 1.20: Estrutura do projeto
1) src - pasta dedicada ao armazenamentos dos códigos-fonte do projeto e será onde colocaremos as classes Java que criaremos em nossa aplicação. Repare que já existe uma MainActivity.java que foi criada automaticamente quando
criamos o projeto;
2) res - dedicado ao armazenamento de recursos (arquivos de layout, imagens, animações e xml contendo valores como strings, arrays etc.), acessíveis através
da classe R;
3) assets - diretório para o armazenamento de arquivos diversos utilizados por sua aplicação. Diferentemente dos recursos armazenados na pasta res, estes são 20
Casa do Código
Capítulo 1. Construa sua primeira aplicação
acessíveis apenas programaticamente;
4) gen - armazena códigos gerados automaticamente pelo plugin, como a classe R
que mantém referências para diversos tipos de recursos utilizados na aplicação; 5) libs - pasta para armazenar bibliotecas de terceiros que serão utilizadas pela aplicação;
6) bin - local utilizado pelos processos de compilação e empacotamento para manter arquivos temporários e códigos compilados.
No diretório raiz do projeto também existem alguns arquivos, sendo um deles,
o AndroidManifest.xml, obrigatório para toda aplicação Android. Esse arquivo
contém informações essenciais sobre a sua aplicação e sobre o que é necessário para executá-la, incluindo a versão mínima do Android. O nome do pacote escolhido
durante a criação do projeto, por exemplo, é armazenado lá para servir como identificador único da sua aplicação.
O manifesto também descreve os componentes (activities, services, content providers e broadcast receivers) que fazem parte da aplicação, possibilitando que o sistema operacional Android seja capaz de identificá-los e determinar quando serão executados. Durante o livro, vamos aprender como trabalhar com esses diferentes componentes. No código a seguir, a activity MainActivity é quem representa
o componente que é iniciado quando executamos a aplicação.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="br.com.casadocodigo.helloandroid"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
21
1.4. Conheça a estrutura do projeto
Casa do Código
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
As activities são componentes da plataforma Android, capazes de apresentar uma tela para interagir com os usuários. Através delas podemos tirar uma foto, enviar um email, visualizar uma imagem e navegar na Internet. Geralmente uma aplica-
ção é composta por várias activities, sendo uma delas a activity principal que é executada quando a iniciamos. O código a seguir demonstra a atividade principal ( MainActivity.java) do nosso projeto HelloWorld que foi criada automaticamente pelo ADT plugin: