Você está na página 1de 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/eclipse-
adt.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
1. Abra a pasta do SDK que foi feito o download e execute o SDK Setup.exe
2. Poder ocorrer um erro, ento selecione a aba Settings no lado esquerdo
3. Selecione o checkbox escrito Force https
4. Clique em Save & Apply
5. 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.

Instalando o Plugin no Eclipse (ADT)
1. Abra o eclipse, ento selecione Help > Install New Softare.
2. Na aba Available Software, clique em Add....
3. Clique em Archive.
4. Selecione o .zip baixado anteriormente, e d um nome a ele. (Ex.: Inatel
Android Plugin)
5. Clique em Ok.
6. 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
7. Clique em Next para ler e aceitar os termos de licena para instalao, e
depois clique em Finish.
8. Restarte o Eclipse.

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

Criando 1 AVD
1. Clique no cone de celular que apareceu no Eclipse
2. Clique em New
3. Em Name, d 1 nome ao AVD (Ex.: Inatel AVD)
4. 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

Você também pode gostar