You are on page 1of 9

Apostila de

Programando Passo-a-Passo

De : Pedro Henrique Fialho Santos (pedroh@inatel.br)

Desenvolvida no Inatel Competence Center ICC Estagirio: Pedro Henrique Fialho Santos

Fontes: Portal Android (principal forum brasileiro de Android. Exemplo retirado de l): http://forum.portalandroid.org/ Wikipedia: http://pt.wikipedia.org/wiki/Android http://pt.wikipedia.org/wiki/Dalvik_virtual_machine

Rixargolo: http://www.rixargolo.com/2008/03/04/o-que-android/

GUJ (Grupos de Usurios Java - principal forum brasileiro de Java): http://www.guj.com.br/

Android Delevelopers: http://developer.android.com/index.html

O que Android?
Android um sistema operacional baseado em kernel Linux. Ele foi inicialmente desenvolvido pela Google, e permite os desenvolvedores escreverem software na linguagem de programao Java controlando o dispositivo mveis via bibliotecas desenvolvidas pela Google. Exemplos de celulares com Android: Samsung Galaxy, HTC Hero, HTC Magic, HTC G1, Motorola Blur/Dext, Motorola Milestone, Sony Xperia 10 Acer Liquid.

Mquina virtual Dalvik


Aplicaes escritas em Java so compiladas em bytecodes Dalvik e executadas usando a Mquina virtual Dalvik, que uma mquina virtual especializada desenvolvida para uso em dispositivos mveis, o que permite que programas sejam distribudos em formato binrio (bytecode) e possam ser executados em qualquer dispositivo Android, independentemente do processador utilizado. Apesar das aplicaes Android serem escritas na linguagem Java, ela no uma mquina virtual Java, j que no executa bytecode JVM.

IDE
Para ajudar os desenvolvedores na criao de aplicativos para o Android, a Google disponibilizou um plugin para a IDE Eclipse que adiciona ferramentas para criar a depurar os cdigos com facilidade.

Requisitos de Software e Sistema


Sistemas Operacionais Compatveis

Windows XP ou Vista Mac OS X 10.4.8 ou posterior (x86 apenas) Linux (testado no Ubuntu 9.10)

Faa o download do Eclipse aqui: http://www.eclipse.org/downloads/ Faa o download do SDK Android aqui: http://developer.android.com/sdk/index.html Faa o download do ADT aqui: http://developer.android.com/sdk/eclipseadt.html#troubleshooting SUGESTO: Crie 1 pasta chamada Android, e dentro dela coloque o SDK e o ADT. OBS: No descompacte o ADT

Instalando o SDK
Abra a pasta do SDK que foi feito o download e execute o SDK Setup.exe Poder ocorrer um erro, ento selecione a aba Settings no lado esquerdo Selecione o checkbox escrito Force https Clique em Save & Apply V na aba Avaible Packages, e clique no +, para ver quais esto disponveis. 6. Selecione SOMENTE o SDK Plataform Android mais novo. (Ex.: SDK Plataform Android 2.0.1, API 6, revision 1). 7. Clique em Install selected, e espere uns 30 minutos para ocorrer a instalao. 1. 2. 3. 4. 5.

Instalando o Plugin no Eclipse (ADT)


1. 2. 3. 4. 5. 6. Abra o eclipse, ento selecione Help > Install New Softare. Na aba Available Software, clique em Add.... Clique em Archive. Selecione o .zip baixado anteriormente, e d um nome a ele. (Ex.: Inatel Android Plugin) Clique em Ok. Voltando a aba Available Software, voc ver Developer Tools adicionado na lista. Selecione o checkbox dele (e automaticamente ir selecionar o Android DDMS e o Android Development Tools. Clique em Next Clique em Next para ler e aceitar os termos de licena para instalao, e depois clique em Finish. Restarte o Eclipse.

7. 8.

Ajustando para a pasta do SDK


1. 2. 3. 4. V no menu Window > Preferences Selecione no lado esquerdo Android. Em SDK Location, clique em Browse... Selecione a pasta em que foi instalado o SDK e Clique em Ok.

Criando 1 AVD
1. 2. 3. 4. Clique no cone de celular que apareceu no Eclipse Clique em New Em Name, d 1 nome ao AVD (Ex.: Inatel AVD) Em Target, selecione o SDK instalado, e depois clique em Create AVD

Criando 1 Aplicao ANDROID !


1. Selecione File > New > Android Project 2. Selecione o contedo do projeto: Project name: HelloAndroid Em Build Target, selecione o que foi instalado Application name: Hello, Android Package name: com.example.helloandroid Create Activity: HelloAndroid Min SDK Version: Olhe o nmero da API, do Build Target. (Ex.: 3)

3. Precione Finish 4. Clique em cima do Projeto criado, e clique em Run As > Run Configurations 5. Selecione Android Application, clique com o boto direto, e depois em New 6. Selecione o projeto, e depois Launch, e selecione a classe. 7. V no projeto, e aperte F11 (Para executar) e depois selecione Android Application. 8. Espere bastante, at a tela de seu projeto aparecer
Vamos fazer uma modificao na nossa aplicao. Abra o arquivo main.xml (que est no pacote res/layout). Observe que ele possui um TextView certo? Vamos colocar mais duas TextViews, a primeira TextView, no atributo android:text ter o ttulo Primeira frase, o segundo TextView ter o ttulo Segunda Frase e assim sucessivamente:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Primeira Frase." /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Segunda Frase" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Terceira Frase!" /> </LinearLayout>

Usando Widgets - O que so?


Os widgets so os componentes que compem uma aplicao Android, como o TextView, um Button, um EditText , um RadioButton e etc.

Desenvolvendo uma aplicao que soma nmeros


Vamos criar agora uma aplicao que faa uso de um desses widgets. Crie um novo projeto Android com os seguintes dados: Project Name: ProjetoSoma Package Name: com.android.appsoma Activity Name: AppSoma Application Name: Soma Nmeros Vamos no arquivo main.xml desse projeto fazer as seguintes modificaes.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Digite o primeiro nmero" /> <EditText android:id="@+campo/num1" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Digite o segundo nmero" /> <EditText android:id="@+campo/num2" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Resultado" /> <EditText android:id="@+campo/res" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+botao/btmostrar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Mostrar" /> </LinearLayout>

Bom, vamos a explicao do cdigo acima. Observem que possuo uma TextView com o ttulo Digite o primeiro nmero. Logo abaixo dela , eu possuo uma widget do tipo EditText, que exibe um campo onde vou digitar o nmero. Essa widget possui uma propriedade chamada android:id, que serve para dar nome ao componente, ou seja, funciona como um identificador daquele componente. O nome de um widget, deve estar nesse formato: @+<nome>/<nome> Se observamos, o valor desse atributo : @+campo/num1. como se campo representasse um grupo e num1 representasse o nome do componente. Abaixo dessa widget, temos outra do tipo TextView com o ttulo Digite o segundo nmero. Depois temos um outro widget do tipo EditText, cujo nome : @+campo/num2. Abaixo dessa widget, temos um terceiro TextView com o ttulo Resultado. Depois temos um outro widget do tipo EditText, cujo nome : @+campo/res. Por ltimo, temos uma widget do tipo Button, cuja finalidade mostrar um boto para podermos clic-lo. Ele possui um ttulo com o valor Mostrar e seu nome : @+botao/btmostrar. Beleza, agora vamos abrir o cdigo do arquivo AppSoma.java, para acessar via cdigo Java, os componentes que adicionamos via XML. Siga os passos aqui descritos para voc como esse processo feito. Aps a linha
import android.os.Bundle;

Digite:
import android.widget.*; import android.view.*;

Antes da linha:
@Override

Digite:
EditText ednum1,ednum2,edres;

Agora vamos a explicao do cdigo acima. Como voc pode ver, os widgets podem ser usados no nosso cdigo Java. Se no cdigo XML eu possuir um widget do tipo EditText, para acessar esse componente pelo Java, preciso fazer uso da classe EditText. Cada widget no XML possui o seu respectivo em classe Java, logo, se possui um widget Button, para acessa-lo devo fazer uso da classe Button e assim vai. Agora, aps a linha:
setContentView(R.layout.main);

Digite as seguintes linhas de cdigo:


ednum1 = (EditText) findViewById(R.campo.num1); ednum2 = (EditText) findViewById(R.campo.num2); edres = (EditText) findViewById(R.campo.res); Button btMostrar = (Button) findViewById(R.botao.btmostrar);

Agora vou explicar as linhas acima. A linha:


EditText ednum1 = (EditText) findViewById(R.campo.num1);

Faz referncia ao primeiro EditText, atravs do mtodo findViewById com o parmetro R.campo.num1. Ah, se lembra o nome da primeira EditText que est no cdigo XML? Ela se chama @+campo/num1. Observe que para fazer referncia ao EditText pelo mtodo findViewById eu passei o parmetro R.campo.num1. J na segunda linha, para fazer a referncia segunda EditText, cujo nome @+campo/num2, pelo mtodo findViewById, passei o parmetro R.campo.num2. Como voc pode ver, estou fazendo uso da classe R, que funciona como interface entre o cdigo Java e o arquivo XML. O procedimento o mesmo tanto para o terceiro EditText e o Button. Agora iremos adicionar um evento Click, no nosso Button, pois quando eu clicar no boto, ele dever mostrar a soma dos nmeros. Ento, logo aps a linha:
Button btMostrar = (Button) findViewById(R.botao.btmostrar);

Digite:
btMostrar.setOnClickListener(new View.OnClickListener(){ public void onClick(View arg0) { double num1 = Double.parseDouble(ednum1.getText().toString()); double num2 = Double.parseDouble(ednum2.getText().toString()); double res = num1 + num2; edres.setText(String.valueOf(res)); } });

Toda vez que eu clicar no boto, ele ir mostrar o resultado na terceira EditText referente ao resultado da soma. O mtodo setOnClickLisneter serve para definir um evento de Click a um componente. Como parmetro, criamos uma instncia de OnClickListener e dentro dessa instncia existe o mtodo chamado onClick, que ser disparado toda vez que o boto for clicado. A linha:
double num1 = Double.parseDouble(ednum1.getText().toString());

Cria uma varivel chamada num1 e atribui a ela o valor que est contido em num1. Eu fao uso do mtodo parseDouble da classe Double pois o contedo uma String. Observem que chamo o mtodo getText de ednum1 para retornar o contedo. Diferente de muitos mtodos de retorno de String, esse mtodo getText no retorna uma String, mais sim um tipo chamado Editable. Por isso, chamei o mtodo toString de getText para que me retornasse uma string. A descrio da prxima linha e a mesma. A linha:
edres.setText(String.valueOf(res));

Retorna para a terceira EditText referenciada por edres, a soma dos

valores. Isso possvel chamado o mtodo setText, como o resultado est num tipo double e setText aceita somente parmetros do tipo String e Editable, fiz a converso desse valor atravs do mtodo valueOf da classe String. O Resultado ser esse:

DICAS:
1. NUNCA feche a aplicao que voc executou no Android. O Android um SO (Sistema Operacional), e por isso toda vez que iniciado, tem a necessitade de carregar suas configuraes (instncias), o que leva um certo tempo (uns 25-30 segundos). Por isso, toda vez que voc tiver feito alguma alterao no seu projeto, simplesmente execute-o em cima do outro projeto, gastando assim muito menos tempo. 2. Aprenda a usar alguns atalhos do Eclipse, como Ctrl + Shift + F (seve para indentrar seu cdigo), ou Ctrl + Shift + O (serve para organizar seus imports adicionar os necessrios, ou remover os que no so).

Concluso
Nesta apostila aprendemos a programar o bsico do Android. Vimos um pouco sobre a plataforma Android, aprendemos a instalar o eclipse e os plugins necessrios para o funcionamento do Android, incluindo o SDK. Aprendemos a construir uma aplicao Android bsica e depois conhecemos os componentes (widgets) que constituem uma aplicao Android para a construo de aplicaes mais interessantes. Anexo 01 - Um exemplo de apliacao, de como trocar de layouts e mostrar mensagens em uma aplicao Android, com um exemplo prtico de uma aplicao de cadastro em uma agenda. Anexo 02 Um exemplo de aplicao, como calcular seu IMC, usando troca de layouts (para trocar de layout neste exemplo, clique na imagem da balana), e um exemplo de Timer Task (servindo como uma thread), para trocar imagens. Espero que esse material lhe tenha sido til. Abraos, Pedro Henrique Fialho Santos Estagirio do Inatel Competence Center - ICC

You might also like