Criando uma aplicação simples (Hello World!) para Android

Posted: January 7, 2011 in Uncategorized

Bom pessoal, continuando a série de posts sobre Android, hoje explicarei como criar uma pequena aplicação para Android, o famoso “Hello World!”, afinal de contas quem nunca fez um desses…rsrs

Para criar um novo projeto para Android basta seguir o caminho File -> New -> Other. Selecione a opção Android -> Android Project e clique em “Next”. Na próxima tela preencha os campos abaixo, com suas respectivas informações:

Project name: HelloWorld
Application name: Hello World
Package name: br.com.android
Create Activity: AppHelloWorld
Min SDK Version: 9

Após preencher os campos citados anteriormente, selecione o “Target Name” de acordo com versão que você especificou ao criar o AVD que será utilizado nesse projeto. Após realizar essas etapas basta clicar no botão “Finish”.

Pronto!
Seu primeiro projeto para Android está criado.

Para explicar a estrutura de arquivos e diretórios existentes no projeto, utilizarei texto/explicação da apostila “Apostila de Android – Programando Passo a Passo” criada por Luciano Alves, que explica isso de uma forma clara e simples, por isso reproduzirei o excelente texto feito por ele, com as modificações que se fizerem necessárias.

Observem que dentro da pasta “HelloWorld” existe uma pasta chamada “src” e dentro dela é que ficam os códigos fonte java das aplicações. Observem que o arquivo “AppHelloWorld.java” se encontra dentro do pacote “br.com.android” (Esse pacote também é uma pasta). Esse arquivo é a nossa aplicação Android. Vou descrever em detalhes o arquivo “AppHelloWorld.java” (Veja o código abaixo):

package br.com.android;

import android.app.Activity;
import android.os.Bundle;

public class AppHelloWorld extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

Diferentemente das aplicações comuns de Java, toda classe para aplicação Android deve ser derivada da classe Activity (Atividade) e possui como método principal, o método onCreate. Dentro desse método ele invoca o método onCreate da super classe passando mesmo parâmetro (o savedInstanceState), logo após esse método, vem o método setContentView, responsável por exibir a tela da minha aplicação , baseado nos layouts xml. Por padrão ele chama o arquivo “main.xml”.

Dentro da pasta “HelloWorldAndroid” existe um diretório chamado “res”, onde ficam armazenados todos os recursos utilizados pela aplicação. Dentro do diretório “res” existem cinco diretórios, cada um deles com uma finalidade, que descreverei agora:

Diretórios “drawable”

Diferente de algumas versões antigas do Android SDK, como o revision 1, esta versão do SDK trabalha com três diretórios “drawables”, drawable-hdpi,drawable-ldpi, drawable-mdpi.
Todos os três armazenam somente imagens, mas qual a diferença de um para outro? Cada um desses diretórios só será utilizado de acordo com a resolução do Android que você está utilizando, ou seja, qual modelo de emulador de você estiver usando. Por exemplo, quando você usa uma resolução de 480×800 no seu emulador, é utilizado o diretório “drawable-hdpi” para buscar a imagem que vai representar o ícone da sua aplicação Android.
Se você for usar uma resolução 320×480 (que é a resolução padrão do emulador Android), é utilizado o diretório “drawable-mdpi”. Se você usar uma resolução 240×400, é utilizado o diretório “drawable-ldpi”.

O diretório “layout” armazena todas os layouts da aplicação Android, que normalmente são arquivos “.xml”. Para quem conhece a combinação HTML + JavaScript, o Android é similar, é a combinação de XML + Java, logo todos os nosso componentes vão ser adicionados usando tags XML. Por padrão, o arquivo de layout é o main.xml.
Uma coisa interessante que existe nessa versão (e alguma das anteriores) é a capacidade de você ter um “preview” de como ficara a sua aplicação antes mesmo de você rodar o emulador Android, para confirmarmos isso, simplesmente vá no diretório “res/layout”,e de um duplo clique no arquivo “main.xml”, e você verá o seu preview, conforme demonstra a figura abaixo:


Para visualizarmos o código do arquivo main.xml, simplesmente clique na guia “main.xml”, que se encontra abaixo da seção “Views”.
Observe que após a primeira linha (prólogo xml), existe uma tag chamada LinearLayout, responsável por organizar os componentes exibidos na tela, por padrão os componentes são distribuídos na vertical pelo atributo android:orientation=”vertical”.
Dentro desta tag, existe uma um componente chamado TextView, que representa um texto a ser exibido na tela , por padrão, ele irá exibir “Hello World, AppHelloWorld” através do atributo android:text=”@string/hello”, onde o valor “@string/hello” equivale a uma constante, que está definida no arquivo strings.xml, que se encontra no diretório “values”, que iremos descreve-lo agora.

O diretório “values” armazena valores estáticos que podem ser utilizados por um arquivo “.XML”. Normalmente esses valores estáticos devem ser armazenados no arquivo “strings.xml”. Vá no diretório “res/values” e de um duplo clique no arquivo “strings.xml”, e será mostra o gerenciador desse arquivo.
Observe que nas propriedades do atributo “hello”, está atribuído um valor a ela,que é o valor “Hello World, AppHelloWorld!”, isso quer dizer que lá no arquivo XML, no componente TextView, tem uma propriedade chama “android:text”, com o valor “@string/hello” , que equivale a na verdade a string “Hello World, AppHelloWorld!”. Para ver a sua estrutura , clique na guia “strings.xml”.
Observem que dentro desse arquivo eu declaro um valor estático chamado app_name, cujo valor é “Hello World”.

Dentro da pasta HelloWorld existe um arquivo chamado “AndroidManifest.xml” Esse arquivo é o sistema nervoso de uma aplicação Android. É nele que ficam as definições referentes à aplicação. De um duplo clique nesse arquivo para abri-lo, feito isso será mostrado o seu gerenciador.
Bom, o que nos interessa aqui é o código. Para visualizarmos seu código, clique na seção “AndroidManifest.xml”.
Observem algumas tags interessantes. A tag possui o atributo android:icon, no qual especifico o ícone da aplicação. Como havia citado anteriormente, todas as imagens ficam no diretório drawable e nesse diretório existe um arquivo de chamado “icon.png” que será o ícone da minha aplicação. Logo, para usar esse ícone neste atributo, deve-se passar o valor @drawable/icon .Observem que quando informamos o ícone, ele deve ser informado sem a extensão (nesse caso, PNG).
Observem agora a tag , ela define uma atividade (Activity). Dentro desta tag, eu possuo o atributo chamado android:label que define o título da minha aplicação. O título que será exibido é o valor que está armazenado no valor estático app_name. Isso é obtido pela atribuição android:label=”@string/app_name”.

Como havia falado a aplicação Android nada mais é do que a combinação Java + XML. Agora, como um código Java vai acessar um componente que está escrito em XML ? Ah, essa é a finalidade do arquivo R.java (que fica dentro do pacote “gen” , situado no projeto), ele funciona como uma “interface” entre o código Java e o código XML, logo, se eu quiser manipular em tempo de execução um componente via Java, tenho que fazer interface com esse arquivo. Em breve vamos ver como.
OBS: O arquivo R.java não pode ser modificado manualmente. Ele é modificado automaticamente de acordo com as mudanças feitas no projeto.

Agora iremos executar nossa aplicação. Vamos no menu Run -> Run Configurations. Abrirá uma janela com vários itens. Clique com o botão direito do mouse no item “Android Application” e selecione a opção “New”.
Feito isso, na propriedade “Name” ao lado digite “AppHelloWorld”. Em Project selecione o projeto que criamos clicando no botão “Browse”, com o nome de “HelloWorld”. E por último, em “Launch Action”, deixe marcada a opção “Lauch Default Activity”. Clique em “Apply” e em seguida em “Run”.

Pronto! O emulador começará a ser executado. Isso pode levar alguns minutos na primeira vez.
No início da execução do emulador mostra o título Android depois, vem um outro título escrito “Android”, com um titulo cinza em animação.
Passado essas inicializações, será mostrada a nossa aplicação e também algumas mensagens, é só cancela-las.
A partir daí você pode utilizar o emulador como um smartphone real, ou seja, sair da aplicação, executar outras aplicações e posteriormente voltar a executá-la.

Não feche o emulador, mantenha ele aberto enquanto você estiver desenvolvendo, senão toda vez que você modificar sua aplicação e for rodá-la novamente, você terá que esperar todo aquele tempo que esperou da primeira vez, portanto execute-o e mantenha ele aberto enquanto estiver desenvolvendo, basta realizar suas modificações no aplicativo e executá-lo, dessa forma o eclipse utilizará o emulador aberto, caso contrário ele abrirá um novo e você terá que aguardar todo aquele tempo novamente.

É isso aí pessoal, espero que o post seja útil e qualquer dúvida/problemas é só enviar um comentário que reponderemos em seguida.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s