Você está na página 1de 17

Ol, Mundo

http://developer.android.com/resources/tutorials/hello-world.html

Neste documento
1. 2. 3. 4. 5. 6. 7. 8. Instale uma plataforma Criar uma AVD Criar o projeto Construa a interface do usurio Execute o Cdigo Atualizar a interface do usurio para um layout XML Depurar o projeto Criando o projeto Sem Eclipse

Como um desenvolvedor, voc sabe que a primeira impresso de um quadro de desenvolvimento o quo fcil escrever "Ol, Mundo". Bem, sobre o Android, muito fcil. particularmente fcil se voc estiver usando o Eclipse como seu IDE, porque ns fornecemos um timo plugin que lida com a sua criao e gesto de projectos para acelerar muito seus ciclos de desenvolvimento. Este tutorial assume que voc est usando Eclipse. Se voc estiver usando a linha de comando, consulte Criando e executando na linha de comando . Voc pode ento voltar a este tutorial e ignorar qualquer coisa sobre Eclipse. Antes de comear, voc j deve ter o SDK instalado, e se voc estiver usando o Eclipse, voc deve ter instalado o plugin ADT tambm. Se voc no tiver instalado estes, veja Instalando o SDK do Android e volte aqui quando voc tiver concludo a instalao.

Instale uma plataforma


Para executar a aplicao Ol Mundo, voc precisa instalar pelo menos uma plataforma Android SDK em seu ambiente. Se voc ainda no tiver feito este passo, voc precisa faz-lo agora. Para instalar uma plataforma no Eclipse: 1. 2. No Gerenciador de SDK do Android, escolher pacotes disponveis no painel esquerdo. No painel direito, expanda a lista de repositrios Android para exibir os componentes disponveis para instalao. 3. Selecione pelo menos uma plataforma para instalar e clique em Install Selected. Se voc no tiver certeza de qual plataforma de instalar, usar a verso mais recente.

Criar uma AVD


Para saber mais sobre como usar AVDs e as opes disponveis para voc, consulte Gerenciamento de dispositivos virtuais .

Neste tutorial, voc vai executar o aplicativo no emulador Android. Antes que voc possa iniciar o emulador, voc deve criar um Android dispositivo virtual (AVD). Um AVD define a imagem do sistema e as configuraes do dispositivo utilizado pelo emulador. Para criar um AVD: 1. 2. 3. Em Eclipse, selecione Window Manager> AVD. Selecione os dispositivos virtuais no painel esquerdo. Clique em Novo ....

A caixa de dilogo Criar Nova AVD aparece. 4. 5. Digite o nome da AVD, como "my_avd". Escolha um alvo.

O alvo a plataforma (isto , a verso do SDK do Android, como o 2.3.3) voc deseja executar no emulador. Para este tutorial, escolha a ltima plataforma que voc tenha instalado e ignorar o resto dos campos. 6. Clique em Criar AVD.

Criar um projeto Android Nova


Depois de criar um AVD voc pode mover para o prximo passo e iniciar um projeto novo Android no Eclipse. 1. Em Eclipse, selecione File> New> Project ....

Se o plugin ADT para o Eclipse foi instalado com sucesso, a caixa de dilogo resultante dever ter uma pasta chamada "Android", que deve conter "Android Project". (Depois de criar um ou mais projetos Android, uma entrada para "Arquivo XML Android" tambm estar disponvel.)

2.

Selecione "Android Project" e clique em Avanar.

3. o o

Preencha os detalhes do projeto com os seguintes valores: Nome do projeto: HelloAndroid Construir Alvo: Selecione uma verso plataforma que igual ou menor do que o alvo que voc escolheu para o seu AVD.

o o o Clique em Concluir.

Nome do aplicativo: Ol, Android Nome do pacote: com.example.helloandroid (ou o seu prprio espao privado) Criar Atividade: HelloAndroid

Aqui est uma descrio de cada campo: Nome do projeto Este o nome do projeto Eclipse - o nome do diretrio que contm os arquivos do projeto.

Construir Alvo Esta a verso do SDK do Android que voc est usando para criar seu aplicativo. Por exemplo, se voc escolher o Android 2.1, o aplicativo ser compilado com a biblioteca plataforma Android 2.1. O alvo que voc escolher aqui no tem de coincidir com o alvo que voc escolheu para o seu AVD, porm, o destino deve ser igual ou inferior meta que voc escolheu para o seu AVD. Aplicaes Android so previses compatvel, o que significa que um aplicativo executado na plataforma contra a qual foi construdo, assim como todas as plataformas que so lanados no futuro. Por exemplo, uma aplicao que construda com a biblioteca plataforma 2.1 vai funcionar normalmente em um AVD ou dispositivo que est executando a 2.3.3. O inverso no verdadeiro. Nome da Aplicao Este o ttulo legvel para a sua aplicao o nome que aparece no dispositivo Android. Nome do pacote Este o namespace pacote (seguindo as mesmas regras para os pacotes na linguagem de programao Java) que voc quer todo o cdigo fonte de seu a residir ao abrigo. Isso tambm define o nome do pacote em que a actividade de stub gerado. O nome do pacote deve ser nico em todos os pacotes instalados no sistema Android, por esta razo, importante usar um pacote de domnio de estilo padro para suas aplicaes. O exemplo acima usa o "com.example" namespace, que um namespace reservado para documentao exemplo - quando voc desenvolver seus prprios aplicativos, voc deve usar um namespace que apropriado para a sua organizao ou entidade.

Criar atividade Este o nome para a classe stub que gerado pelo plugin. Esta uma subclasse de Android da Activity classe. Uma atividade simplesmente uma classe que pode correr e fazer o trabalho. Pode criar uma interface do usurio se ele escolhe, mas no precisa. medida que a caixa sugere, este opcional, mas uma actividade quase sempre usado como a base para uma aplicao. Min Verso SDK Esse valor especifica o nvel API mnimo em que o aplicativo ser executado. O Min SDK verso deve ser o mesmo que o destino de compilao que voc escolheu. Por exemplo, se o destino de compilao o Android 2.1, ento o Min SDK verso dever ser de 7 ou inferior (que nunca pode ser superior a 7). Para mais informaes, consulte Nveis Android API . Outros campos: a opo "Use local padro" permite que voc altere o local do disco onde os arquivos do projeto so gerados e armazenados. Seu projeto Android est pronto. Deve ser visvel no Package Explorer do lado esquerdo. Abra o HelloAndroid.java arquivo, localizado no interior HelloAndroid> src> com.example.helloandroid). Deve ficar assim: com.example.helloandroid pacote; importar android.app.Activity; android.os.Bundle de importao; HelloAndroid public class Atividade { / ** Chamado quando a atividade criada pela primeira vez. * / @ Override onCreate public void (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.main); } }

Observe que a classe baseia-se na Activity de classe. Uma atividade uma entidade nica aplicao que usado para realizar aes. Uma aplicao pode ter muitas actividades separadas, mas o utilizador interage com eles uma de cada vez. O onCreate() mtodo chamado pelo sistema Android quando sua atividade comea - onde voc deve realizar toda a configurao de inicializao e UI. Uma atividade no necessrio ter uma interface de usurio, mas geralmente faz. Agora vamos modificar algum cdigo!

Construa a interface do usurio


D uma olhada no cdigo revisto abaixo e faa as mesmas mudanas para sua classe HelloAndroid. Os itens em negrito so as linhas que foram adicionados. com.example.helloandroid pacote; importar android.app.Activity; android.os.Bundle de importao; importar android.widget.TextView; HelloAndroid public class Atividade { / ** Chamado quando a atividade criada pela primeira vez. * / @ Override onCreate public void (Bundle savedInstanceState) { super.onCreate (savedInstanceState); TextView tv = new TextView (this); tv.setText ("Ol, Android"); setContentView (tv); } }

Dica: Uma maneira fcil de adicionar pacotes de importao para o seu projeto pressionar Ctrl-Shift-O (Cmd-Shift-O, no Mac). Este um atalho Eclipse que identifica pacotes que esto faltando com base no seu cdigo e adiciona-los para voc. Voc pode ter que ampliar as import declaraes no seu cdigo para que isso funcione. Uma interface de usurio Android composta por hierarquias de objetos chamados Views. A View um objeto drawable usado como um elemento no layout da interface do usurio, como

um boto, imagem ou (neste caso) um rtulo de texto. Cada um desses objetos uma subclasse da classe View e da subclasse que trata o texto TextView . Nesta mudana, voc cria um TextView com o construtor da classe, que aceita um Android Context exemplo, como seu parmetro. Um contexto um identificador para o sistema, que fornece servios como recursos resoluo, acesso a bases de dados e obteno de preferncias, e assim por diante. A classe herda de Atividade de contexto, e porque sua classe HelloAndroid uma subclasse da atividade, tambm um contexto. Ento, voc pode passar this referncia como seu contexto para o TextView. Em seguida, voc define o contedo do texto com setText() . Finalmente, voc passa o TextView para setContentView() , a fim de exibi-lo como o contedo para a interface do usurio Atividade. Se a sua atividade no chamar esse mtodo, ento nenhuma interface do usurio est presente eo sistema ir exibir uma tela em branco. A est - "Ol, Mundo" no Android! O passo seguinte, claro, v-lo em execuo.

Execute o aplicativo
O plugin do Eclipse torna mais fcil para executar seus aplicativos: 1. 2. Escolha Executar> Executar. Selecione "Aplicao Android".

Para saber mais sobre como criar e editar configuraes de execuo no Eclipse, consulte Desenvolvendo Em Eclipse, com ADT .

O plugin do Eclipse cria automaticamente uma nova configurao de execuo para o seu projeto e, em seguida, lana o emulador Android. Dependendo do seu ambiente, o emulador Android pode levar vrios minutos para carregar totalmente, por favor seja paciente. Quando o emulador inicializado, o plugin do Eclipse instala o aplicativo e inicia a atividade padro. Agora voc deve ver algo como isto:

O "Ol, Android" que voc v na barra cinza na verdade o ttulo do aplicativo. O plugin do Eclipse cria isso automaticamente (a string definido nas res/values/strings.xml de arquivo e referenciada pelo seu AndroidManifest.xml arquivo). O texto abaixo do ttulo o prprio texto que voc criou no objeto TextView. Isso conclui o bsico "Ol Mundo" tutorial, mas voc deve continuar lendo algumas informaes mais valiosas sobre como desenvolver aplicativos para Android.

Atualizar a interface do usurio para um layout XML


O "Ol, Mundo" exemplo, voc terminou apenas usa o que chamado de um layout de UI "programtica". Isso significa que voc construiu e construiu UI do aplicativo diretamente no cdigo fonte. Se voc j fez programao UI muito, provavelmente voc est familiarizado com a forma frgil que a abordagem s vezes pode ser: pequenas mudanas no layout pode resultar em grandes cdigo-fonte dores de cabea. Tambm fcil esquecer de conectar corretamente Visto em conjunto, que pode resultar em erros em seu layout e desperdcio de tempo depurando seu cdigo. por isso que o Android fornece um modelo alternativo de construo da interface do usurio: arquivos baseados em XML de layout. A maneira mais fcil de explicar este conceito mostrar

um exemplo. Aqui est um arquivo de layout XML que um comportamento idntico ao exemplo de programao construda: <? Xml version = "1.0" encoding = "utf-8"> <TextView xmlns: android = "http://schemas.android.com/apk/res/a ndroid" android: id = "@ + id / TextView" android: layout_width = "fill_parent" android: layout_height = "fill_parent" android: text = "@ string / Ol" />

A estrutura geral de um arquivo de layout Android XML simples: uma rvore de elementos XML, onde cada n o nome de uma classe View (neste exemplo, no entanto, apenas um elemento Ver um). Voc pode usar o nome de qualquer classe que estende View como um elemento em seus layouts XML, incluindo aulas de exibio personalizadas que voc define no seu prprio cdigo. Esta estrutura faz com que seja fcil de rapidamente construir interfaces de usurio, utilizando uma estrutura mais simples e sintaxe que voc usaria em um esquema programtico. Este modelo inspirado no modelo de desenvolvimento web, onde voc pode separar a apresentao do seu aplicativo (sua UI) da lgica do aplicativo usado para buscar e preencher os dados. No exemplo acima, XML, h apenas um elemento Ver um: o TextView , que tem cinco atributos XML. Aqui est um resumo do que eles significam: Atributo xmlns:android Significado Esta uma declarao de namespace XML que informa as ferramentas do Android que voc est indo para se referir a atributos comuns definidos no namespace Android. A tag mais externa em cada arquivo de layout Android deve ter este atributo. Este atributo atribui um identificador nico para o TextView elemento. Voc pode usar o ID atribudo para referenciar esse Vista do seu cdigo fonte, ou de outras declaraes de recursos XML. Este atributo define o quanto a largura disponvel na tela essa viso deve consumir. Neste caso, a nica viso que voc quer que ele ocupe a tela inteira, que o que um valor de "fill_parent" significa. Isso como android: layout_width, exceto que ele refere-se

android:id

android:layout_width

android:layout_height

a altura da tela disponvel. android:text Isso define o texto que o TextView deve exibir. Neste exemplo, voc usar um recurso de cadeia em vez de um valor string codificada. A seqncia Ol definido nas res / valores / arquivo strings.xml. Esta a prtica recomendada para inserir strings para sua aplicao, porque faz com que a localizao do seu aplicativo para outros idiomas graciosas, sem necessidade de codificar as alteraes no arquivo layout. Para mais informaes, consulte Recursos e Internacionalizao .

Esses arquivos de layout XML pertencem res/layout/ diretrio do seu projeto. A "res" a abreviao de "recursos" eo diretrio contm todos os ativos de cdigo no que seu aplicativo requer. Alm de arquivos de layout, recursos tambm incluem ativos, tais como imagens, sons e seqncias de caracteres localizadas.
Layout de paisagem Quando voc quer um projeto diferente para a paisagem, colocar o seu layout de arquivo XML dentro / res / layout da-terra. Android ir automaticamente procurar aqui quando as mudanas de layout. Sem esse layout paisagem especial definido, o Android vai esticar o layout padro.

O plugin do Eclipse cria automaticamente um desses arquivos de layout para voc: main.xml. No "Ol Mundo" aplicativo que voc acabou de completar, esse arquivo foi ignorado e voc criou um layout de programao. Este foi concebido para lhe ensinar mais sobre a estrutura do Android, mas voc deve sempre definir o layout em um arquivo XML em vez de no seu cdigo. Os procedimentos a seguir ir instru-lo como alterar a sua aplicao existente para usar um layout XML. 1. No Package Explorer do Eclipse, expandir os /res/layout/ pasta e aberto main.xml (uma vez aberto, voc pode precisar clicar na guia "main.xml" na parte inferior da janela para ver o cdigo fonte XML). Substitua o contedo com o seguinte XML: <? Xml version = "1.0" encoding = "utf-8"> <TextView xmlns: android = "http://schemas.android.com/apk/res/a ndroid" android: id = "@ + id / TextView" android: layout_width = "fill_parent" android: layout_height = "fill_parent" android: text = "@ string / Ol" /> Salve o arquivo.

2.

Dentro da res/values/ pasta, aberto strings.xml . Isto onde voc deve salvar todas as cadeias de texto padro para a interface do usurio. Se voc estiver usando o Eclipse, ento ADT ter comeado o com duas cordas, ol e APP_NAME. Rever Ol para outra coisa. Talvez "Ol, Android! Sou um recurso de cadeia!" O arquivo inteiro deve agora olhar como este: <? Xml version = "1.0" encoding = "utf-8"> <resources> <string name="hello"> Ol, Android! Eu sou um recurso de cadeia! </ String> <string name="app_name"> Ol, Android </ string> </ Resources>

3.

Agora abrir e modificar o seu HelloAndroid classe e usar o layout XML. Edite o arquivo para ficar assim: com.example.helloandroid pacote; importar android.app.Activity; android.os.Bundle de importao; HelloAndroid public class Atividade { / ** Chamado quando a atividade criada pela primeira vez. * / @ Override onCreate public void (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.main); } }

Quando voc fizer essa alterao, digite-o pela mo para tentar o recurso de concluso de cdigo. medida que voc comear a digitar "R.layout.main" o plugin ir oferecer-lhe sugestes. Voc ver que ele ajuda em um monte de situaes. Em vez de passar setContentView() um objeto View, voc d a ele uma referncia para o recurso de layout. O recurso identificado como R.layout.main , que na verdade uma representao de objeto compilado do layout definido em /res/layout/main.xml . O plugin do Eclipse cria automaticamente esta referncia para voc dentro de classe do projeto

R.java. Se voc no estiver usando o Eclipse, ento a classe R.java ser gerado para voc quando voc executar Ant para construir a aplicao. (Mais sobre a classe R, em um momento.) Agora re-executar o aplicativo - porque voc criou uma configurao de lanamento, tudo que voc precisa fazer clicar no cone de seta verde para correr, ou selecione Executar> Executar Atividade Histria> Android. Para alm da mudana para a seqncia TextView, o aplicativo tem a mesma aparncia. Depois de tudo, o ponto era mostrar que as duas abordagens layout diferentes produzem resultados idnticos. Nota: Voc pode ter que desbloquear a tela no emulador para ver a sua aplicao - assim como voc desbloquear a tela em um dispositivo. Se voc tiver problemas para executar o emulador, consulte Usando o emulador Android . Continue lendo para uma introduo depurao e um pouco mais de informao sobre o uso de outros IDEs. Quando voc est pronto para aprender mais, leia Fundamentos de aplicativos para uma introduo a todos os elementos que fazem o trabalho de aplicativos Android. Consulte tambm o Guia do Desenvolvedor pgina de introduo para uma viso geral da documentao do Guia Dev.

R classe
Em Eclipse, abra o arquivo chamado R.java (no gen/ pasta [arquivos gerados Java]). Deve ser algo assim: com.example.helloandroid pacote; classe final pblicos R { attr classe public static final { } drawable classe public static final { public static final int cone = 0x7f020000; } ID de classe public static final { TextView int public static final = 0x7f050000; } layout de classe public static final { public static final int main = 0x7f030000; } Seqncia de classe public static final { public static final int

app_name = 0x7f040001; public static final int Ol = 0x7f040000; } }

Um projeto R.java arquivo um ndice para todos os recursos definidos no arquivo. Voc pode usar essa classe em seu cdigo-fonte como uma espcie de curto-mo maneira de se referir aos recursos que voc incluiu em seu projeto. Isto particularmente poderosa com as caractersticas de concluso de cdigo de IDEs como o Eclipse, pois ele permite que voc rapidamente e de forma interativa localizar a referncia especfica que voc est procurando. possvel seu aspecto ligeiramente diferente do que isso (talvez os valores hexadecimais so diferentes). Por agora, observe a classe interna chamado "layout", e seu campo de membro "principal". O plugin do Eclipse notou o arquivo de layout XML chamado main.xml e gerou uma classe para ele aqui. medida que voc adicionar outros recursos para seu projeto (como cordas nas res/values/string.xml arquivos ou Drawables dentro da res/drawable/ diretrio), voc ver R.java mudana para manter-se. Quando no estiver usando Eclipse, este arquivo de classe ser gerada para voc em tempo de compilao (com a ferramenta Ant). Voc nunca deve editar o arquivo manualmente.

Depurar o projeto
O Android Plugin para Eclipse tambm tem excelente integrao com o depurador Eclipse. Para demonstrar isso, introduzir um bug em seu cdigo. Altere o seu cdigo fonte HelloAndroid para ficar assim: com.example.helloandroid pacote; importar android.app.Activity; android.os.Bundle de importao; HelloAndroid public class Atividade { / ** Chamado quando a atividade criada pela primeira vez. * / @ Override onCreate public void (Bundle savedInstanceState) { super.onCreate (savedInstanceState); Object o = null; o.toString (); setContentView (R.layout.main); } }

Esta mudana simplesmente introduz uma NullPointerException em seu cdigo. Se voc executar o aplicativo novamente, voc vai finalmente ver o seguinte:

Pressione "Force Quit" para encerrar o aplicativo e fechar a janela do emulador. Para saber mais sobre o erro, defina um ponto de interrupo em seu cdigo fonte na linha Object o = null; (clique duas vezes na barra ao lado do marcador de linha de cdigo fonte). Em seguida, selecione Executar> Histria Debug> Ol, Android a partir do menu para entrar no modo de depurao. Seu aplicativo ser reiniciado no emulador, mas desta vez ele ir suspender quando atinge o ponto de interrupo definido. Voc pode ento percorrer o cdigo em Perspectiva Debug do Eclipse, assim como voc faria para qualquer outro aplicativo.

Criando o projeto sem Eclipse


Se voc no usar o Eclipse (como se voc preferir outro IDE, ou simplesmente usar editores de texto e ferramentas de linha de comando), ento o plugin do Eclipse no pode ajud-lo. No se preocupe - voc no perder nenhuma funcionalidade s porque voc no usar o Eclipse. O Android Plugin para Eclipse realmente apenas um invlucro em torno de um conjunto de ferramentas includas com o SDK do Android. (Estas ferramentas, como o emulador, AAPT, adb, DDMs, e outros esto documentados em outro lugar. ) Assim, possvel envolver essas ferramentas com outra ferramenta, como uma "formiga" construir arquivo. O Android SDK inclui uma ferramenta chamada "Android", que pode ser usado para criar todo o cdigo fonte e stubs de diretrio para o seu projeto, bem como uma formiga compatvel build.xml arquivo. Isto permite-lhe construir o seu projeto a partir da linha de comando, ou integr-lo com a IDE de sua escolha. Por exemplo, para criar um projeto HelloAndroid semelhante criada em Eclipse, use este comando: android projeto create \ - Com.example.helloandroid pacote \ - HelloAndroid atividade \ - Meta 2 \ - Caminho <path-to-your-project> / HelloAndroid

Isso cria as pastas e os arquivos necessrios para o projeto no local definido pelo caminho.