Está en la página 1de 9

Apostila de

Programando Passo-a-Passo

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

Desenvolvida no Inatel Competence Center – ICC


Estagiário: 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 Usuários 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 programação Java controlando o dispositivo móveis 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.

Máquina virtual Dalvik


Aplicações escritas em Java são compiladas em bytecodes Dalvik e executadas
usando a Máquina virtual Dalvik, que é uma máquina virtual especializada
desenvolvida para uso em dispositivos móveis, o que permite que programas sejam
distribuídos em formato binário (bytecode) e possam ser executados em qualquer
dispositivo Android, independentemente do processador utilizado. Apesar das
aplicações Android serem escritas na linguagem Java, ela não é uma máquina virtual
Java, já que não executa bytecode JVM.

IDE
Para ajudar os desenvolvedores na criação de aplicativos para o Android, a Google
disponibilizou um plugin para a IDE Eclipse que adiciona ferramentas para criar a
depurar os códigos com facilidade.

Requisitos de Software e Sistema


Sistemas Operacionais Compatíveis

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

Faça o download do Eclipse aqui: http://www.eclipse.org/downloads/

Faça o download do SDK Android aqui: http://developer.android.com/sdk/index.html

Faça o download do ADT aqui: http://developer.android.com/sdk/eclipse-


adt.html#troubleshooting

SUGESTÃO: Crie 1 pasta chamada Android, e dentro dela coloque o SDK e o ADT.

OBS: Não 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, então 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 estão
disponíveis.
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 instalação.

Instalando o Plugin no Eclipse (ADT)


1. Abra o eclipse, então 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 licença para instalação, 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 Aplicação ANDROID !
1. Selecione File > New > Android Project
2. Selecione o conteúdo 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 número 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 botão 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 modificação na nossa aplicação. 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 título “Primeira frase”, o segundo TextView terá o título
“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 são?
Os widgets são os componentes que compõem uma aplicação Android,
como o TextView, um Button, um EditText , um RadioButton e etc.

Desenvolvendo uma aplicação que soma números


Vamos criar agora uma aplicação que faça 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 Números

Vamos no arquivo main.xml desse projeto fazer as seguintes modificações.

<?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 número"
/>
<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 número"
/>
<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 explicação do código acima. Observem que possuo uma
TextView com o título “Digite o primeiro número”. Logo abaixo dela , eu
possuo uma widget do tipo EditText, que exibe um campo onde vou digitar o
número.
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 título “Digite o
segundo número”. Depois temos um outro widget do tipo EditText, cujo nome
é: “@+campo/num2”.
Abaixo dessa widget, temos um terceiro TextView com o título “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
botão para podermos clicá-lo. Ele possui um título com o valor “Mostrar” e
seu nome é: “@+botao/btmostrar”.
Beleza, agora vamos abrir o código do arquivo AppSoma.java, para
acessar via código Java, os componentes que adicionamos via XML. Siga os
passos aqui descritos para você como esse processo é feito. Após 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 explicação do código acima. Como você pode ver, os


widgets podem ser usados no nosso código Java. Se no código 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, após a linha:


setContentView(R.layout.main);
Digite as seguintes linhas de código:
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 referência ao primeiro EditText, através do método “findViewById” com
o parâmetro “R.campo.num1”.
Ah, se lembra o nome da primeira EditText que está no código XML? Ela
se chama “@+campo/num1”.
Observe que para fazer referência ao EditText pelo método “findViewById” eu
passei o parâmetro R.campo.num1.
Já na segunda linha, para fazer a referência à segunda EditText, cujo
nome é “@+campo/num2”, pelo método “findViewById”, passei o parâmetro
R.campo.num2.
Como você pode ver, estou fazendo uso da classe R, que funciona como
interface entre o código 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 botão, ele deverá mostrar a soma dos números. Então, logo após 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 botão, ele irá mostrar o resultado na terceira
EditText referente ao resultado da soma.
O método “setOnClickLisneter” serve para definir um evento de Click a um
componente. Como parâmetro, criamos uma instância de OnClickListener e
dentro dessa instância existe o método chamado “onClick”, que será
disparado toda vez que o botão for clicado.

A linha:
double num1 = Double.parseDouble(ednum1.getText().toString());

Cria uma variável chamada num1 e atribui a ela o valor que está contido
em num1. Eu faço uso do método parseDouble da classe Double pois o
conteúdo é uma String. Observem que chamo o método “getText” de ednum1
para retornar o conteúdo. Diferente de muitos métodos de retorno de String,
esse método “getText” não retorna uma String, mais sim um tipo chamado
“Editable”. Por isso, chamei o método toString de getText para que me
retornasse uma string. A descrição da próxima linha e a mesma.

A linha:
edres.setText(String.valueOf(res));

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


valores. Isso é possível chamado o método setText, como o resultado está
num tipo double e setText aceita somente parâmetros do tipo String e
Editable, fiz a conversão desse valor através do método valueOf da classe
String.

O Resultado será esse:

DICAS:

1. NUNCA feche a aplicação que você executou no Android. O


Android é um SO (Sistema Operacional), e por isso toda vez que
é iniciado, tem a necessitade de carregar suas configurações
(instâncias), o que leva um certo tempo (uns 25-30 segundos).
Por isso, toda vez que você tiver feito alguma alteração 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 código), ou Ctrl + Shift + O (serve para
organizar seus imports – adicionar os necessários, ou remover os
que não são).
Conclusão
Nesta apostila aprendemos a programar o “básico” do Android. Vimos um
pouco sobre a plataforma Android, aprendemos a instalar o eclipse e os
plugins necessários para o funcionamento do Android, incluindo o SDK.

Aprendemos a construir uma aplicação Android básica e depois conhecemos


os componentes (widgets) que constituem uma aplicação Android para a
construção de aplicações mais interessantes.

Anexo 01 - Um exemplo de apliacação, de como trocar de layouts e mostrar


mensagens em uma aplicação Android, com um exemplo prático de uma
aplicação de cadastro em uma agenda.
Anexo 02 – Um exemplo de aplicação, como calcular seu IMC, usando troca
de layouts (para trocar de layout neste exemplo, clique na imagem da
balança), e um exemplo de Timer Task (servindo como uma thread), para
trocar imagens.

Espero que esse material lhe tenha sido útil.

Abraços,

Pedro Henrique Fialho Santos


Estagiário do Inatel Competence Center - ICC