Você está na página 1de 91

De : Luciano Al ves da Silva (lucianopascal@yahoo.com.

br)

www.apostilaandroid.net










Rio de Janeiro Agosto 2012

Creative Commons (CC) - Alguns Direitos Reservados


2

Aviso sobre esta apostila


Antes de iniciar a leitura deste material, veja esse aviso:

Este material usa a licensa Creative Commons isto significa


que ELE PODE SER DISTRIBUDO LIVREMENTE, porm, SOBRE AS
SEGUINTES REGRAS :

Esse material NO PODER SER COMERCIALIZADO
Essa material NO PODER SER DEVIRADO
E todos os crditos do autor DEVERO SER MANTIDOS

3


Sobre o Autor da Apostila


Luciano Alves da Silva Bacharelado em Cincia da Computao pela
UNISUAM e Ps-Graduado em Docncia do Ensino Superior pelo Instituto A
Vez do Mestre (Universidade Cndido Mendes - UCAM). Possui conhecimento
e domnio das linguagens de programao Pascal, J ava, C/C++, C#, Visual
Basic, Delphi, PHP e HTML. J criou Ambientes de Desenvolvimento Integrado
(conhecidos como IDE) como o MakeWare (que trabalha com as linguagens
Pascal, C++e J ava) e o AlgoWare (interpretador de algoritmos).

autor tambm dos seguintes livros, pela editora AGBOOK

- Aprenda Passo a Passo a Programar em Android Guia Essencial para
Desenvolvedores

- Desenvolvendo J ogos com a Plataforma XNA Guia para Desenvolvedores.

- Desenvolvendo J ogos com a Ferramenta RPG Maker VX Guia do Usurio.




4


Apresentao

Android uma plataforma aberta voltada para dispositivos mveis
desenvolvida pela Google e atualmente mantida pela Open Handset
Alliance (OHA). Todas as aplicaes desenvolvidas para essa
plataforma foram criadas com a linguagem J ava, o que facilita muitos
programadores com conhecimentos em J ava (ou de outras linguagens
prximas de J ava como C++e C#) a desenvolver aplicaes para o Android.

Esta apostila tem por objetivo mostrar de modo fcil como programar na
plataforma para dispositivos mveis da Google (Android) usando a IDE Eclipse.

Para quem dedico este material?

Este material dedicado aos usurios experientes ou iniciantes em
programao (tanto para Desktop, Mbile e etc.), que j tenha algum contato
com a linguagem J ava ou com uma de suas derivadas (como C/C++ou C#).











O

5


ndice analtico


Capitulo 1 Viso geral sobre o Google Android ......................................... 6
1.1) Introduo ................................................................................................................ 6
1.2) Estrutura Geral da plataforma Google Android .................................................. 8
1.2.1) A arquitetura do Android .................................................................................... 9
1.2.2) Aplicaes ............................................................................................................ 9
1.2.3) Android Runtime ................................................................................................ 10
1.2.4) Linux Kernel ........................................................................................................ 10
Capitulo 2 Instalando e Configurando o Android SDK no Eclipse ............. 11
2.1) Instalando o Eclipse ............................................................................................. 12
2.2) Instalando o Android SDK e o ADT-Plugin ....................................................... 14
2.3) Configurando o Android SDK no Eclipse .......................................................... 23
Capitulo 3 Construindo nossas aplicaes no Android ............................ 34
5.1) Desenvolvendo uma Calculadora Bsica ......................................................... 34
Aplicao da calculadora em execuo .................................................................... 50
5.2) Desenvolvendo uma aplicao simples de compras ...................................... 50
5.3) Desenvolvendo uma aplicao de clculo de salrio ..................................... 54
5.5) Desenvolvendo uma aplicao de lista de contatos ....................................... 62
5.6) Desenvolvendo uma aplicao que visualiza imagens .................................. 66
Capitulo 4 Trabalhando com mais de uma tela em uma aplicao .......... 76
Capitulo 5 Propriedades e eventos dos componentes trabalhados ......... 84
Widget TextView ........................................................................................................... 84
Widget EditText ............................................................................................................. 85
Widget Button ................................................................................................................ 87
Widget CheckBox/RadioButton .................................................................................. 88
Widget ListView ............................................................................................................. 89
Widget ImageView ........................................................................................................ 90
Concluso a respeito do material ............................................................ 91


6

Capitulo 1 Viso geral sobre o
Google Android


1.1) Introduo

onforme mencionado na apresentao deste material, o Android uma
plataforma desenvolvida pela Google voltada para dispositivos mveis,
totalmente aberta livre (Open Source), que foi divulgada em 5 de
novembro de 2007. Inicialmente o sistema Android foi desenvolvido pelo
Google e atualmente essa plataforma mantida pela OHA (Open Handset
Alliance. Visite o link : http://www.openhandsetalliance.com), um grupo
constitudo por aproximadamente 84 empresas as quais se uniram para inovar
e acelerar o desenvolvimento de aplicaes e servios, com o objetivo e
trazer aos consumidores uma experincia mais rica em termos de recursos,
menos dispendiosa em ternos financeiros para o mercado mvel.

Um dos primeiros SmartPhones que ofereceu suporte a esse sistema
operacional foi o G1 da empresa T-Mobile. Confira na imagem seguinte:



G1 - T-Mobile



C

7
Atualmente o sistema Android se encontra hoje disponvel tanto em
SmartPhones quanto nos famosos Tablets. Confira abaixo alguns dos
dispositivos encontramos hoje no mercado com o sistema operacional Android:




SmartPhone Samsung Galaxy



Tablet Motorola XOOM








8

1.2) Estrutura Geral da plataforma Google Android

O Android SDK uma ferramenta de desenvolvimento que disponibiliza um
conjunto de APIs necessrias para desenvolver aplicaes para a plataforma
Android, utilizando a linguagem J ava.

Vamos conhecer os recursos encontrados nessa plataforma:

- Application framework: Permite a reutilizao e substituio de
componentes ;

- Dalvik virtual machine: uma Mquina Virtual J ava (J VM) voltada para
dispositivos mveis ;

- Browser Integrado baseado no webkit engine ;

- Grficos Otimizados O Android constitudo por bibliotecas 2D e 3D
baseada na especificao OpenGL ES 1.0 ;

- SQLite: Sistema Gerenciador de Banco de Dados (SGBD) j embutido no
Android para guardar dados ;

- Suporte multimdia: A plataforma j oferece para udio, vdeo e formatos de
imagem (MPEG4, H.264, MP3, AAC, AMR, J PG, PNG, GIF) ;

- Telefonia GSM (dependente de hardware) ;

- Bluetooth, EDGE, 3G, e WiFi (dependente de hardware) ;

- Cmera, GPS, compasso, e acelermetro (dependente de hardware) ;

- Rico ambiente de desenvol vimento , incluindo um emulador de dispositivo,
ferramentas de depurao, memria, performance e um plugin para o Eclipse
(ADT) ;














9
1.2.1) A arquitetura do Android



Arquitetura geral da plataforma



1.2.2) Aplicaes

O Android nos fornece um conjunto de aplicaes fundamentais, so elas:

- um cliente de e-mail;
- programa de SMS;
- agenda;
- mapas;
- navegador;
- contatos entre outros.

Todos os aplicativos acima presentes no Android foram desenvolvidos na
linguagem de programao J ava.

O Android nos fornece um conjunto de bibliotecas C/C++utilizadas por vrios
componentes do sistema. Veja algumas das bibliotecas abaixo:

- System C library: Consiste em uma implementao derivada da biblioteca C
padro baseado no sistema (libc) do BSD sintonizada para dispositivos
rodando Linux.

10

- Media Libraries: Baseado no PacketVideos OpenCORE; so as bibliotecas
que suportam os mais diversos formatos de udio e vdeo, incluindo tambm
imagens.

- Surface Manager: Responsvel pelo acesso ao subsistema de exibio bem
como as mltiplas camadas de aplicaes 2D e 3D;

- LibWebCore: Consiste em um web browser engine utilizado tanto no Android
Browser quanto para exibies web.

- SGL o engine de grficos 2D
- 3D libraries: Uma implementao baseada no OpenGL ES 1.0 APIs; As
bibliotecas utilizam acelerao 3D via hardware (quando disponvel) ou o
software de renderizao 3D altamente otimizado includo no Android.
- FreeType Biblioteca responsvel pela renderizao de fontes bitmap e
vector;

- SQLite Conforme j mencionado, consiste no sistema gerenciador de banco
de dados (SGBD) relacional disponvel para todas as aplicaes.

1.2.3) Android Runti me

O Android constitudo por um conjunto de bibliotecas que fornece a maioria
das funcionalidades disponveis nas principais bibliotecas da linguagem J ava.

Toda aplicao Android roda em seu prprio processo, com sua prpria
instncia da mquina virtual Dalvik. O Dalvik foi escrito de forma a executar
vrias VMs eficientemente. Ele executa arquivos .dex, que otimizado para
consumo mnimo de memria. A VM baseada em registros e roda classes
compiladas pela linguagem J ava que foram transformadas em arquivos .dex,
atravs da ferramenta dx includa no SDK.

O Dalvik VM foi baseado no kernel do Linux para funcionalidades subjacentes
como o encadeamento e a gesto de baixo nvel de memria.

1.2.4) Linux Kernel

O Android foi projetado em cima da verso 2.6 do kernel do Linux para os
servios centrais do sistema, tais como segurana, gesto de memria, gesto
de processos, etc. O kernel tambm atua como uma camada de abstrao
entre o hardware e o resto do software.






11

Capitulo 2 Instalando e
Configurando o Android SDK
no Eclipse




ara a elaborao desse material eu fiz o uso do Eclipse J uno (Eclipse
4.2 para Windows), o SDK do Android Reviso 20 e o plugin do
Android para o Eclipse ADT-20.0.0. Qualquer verso (de preferncia
superior) dos programas citados acima serve. Para que toda essa aplicao
funcione necessrio que voc tenha instalado, antes de tudo, a Mquina
Virtual J ava (de preferncia a verso 6 ou posterior). Bom, mos a obra.

Para saber se voc possui uma Maquina virtual J ava entre no prompt de
comando de digite a seguinte linha:

java version

Se mostrar algo parecido como demonstra a figura seguinte:


Maquina Virtual Java instalada no computador


Significa que voc possui uma mquina virtual J ava instalada no seu
computador, caso contrrio, instale o J RE. Voc pode fazer o download do
J ava pelo link abaixo:

http://www.oracle.com/technetwork/java/javase/downloads/index.html
P

12

2.1) Instalando o Eclipse

A ferramenta Eclipse J uno (Eclipse 4.2) a nossa ferramenta de
desenvolvimento que utilizaremos para criar nossas aplicaes Android. A
linguagem que utilizaremos para criar as aplicaes ser a linguagem J ava, na
qual a ferramenta Eclipse d suporte.

Primeiramente, precisamos efetuar o download da ferramenta antes de
instalarmos. Para isso, basta entrar no seguinte endereo abaixo:

http://www.eclipse.org/downloads/

Feito isso ser carregado a pgina de download, conforme demonstra a figura
abaixo:


Pgina de download do Eclipse

Se observamos a pgina de download, no encontramos nenhum Eclipse
J uno. Mas ento, onde ele se encontra ? O Eclipse J uno e conhecido como
Eclipse verso 4.2 (ou melhor, Eclipse Classic 4.2). O nome J uno
simplesmente um nome cdigo (code name) da verso 4.2 (Cada verso do
Eclipse tem um nome para cada verso).

O Eclipse J uno (Eclipse Classic 4.2) est disponvel para download nas
verses 32 bits e 64 bits. Qual das verses devo baixar ? Primeiramente
devemos nos certificar da verso do nosso sistema operacional (se ele de 32
ou 64 bits). Se o sistema operacional for de 32 bits, obrigatoriamente terei que
baixar a verso 32 bits do Eclipse. Se a verso do seu sistema for de 64 bits, o

13
mais vivel voc efetuar o download da verso 64 bits , porm, voc pode
tambm baixar a instalar a verso 32 bits do Eclipse em seu sistema de 64 bits
sem problemas.

Para a elaborao desta obra, usarei o Eclipse na verso 32 bits. Para isso
basta clicar no link com o ttulo Windows 32 Bit referente ao Eclipse Classic
4.2. Feito isso vai se abrir a pgina conforme demonstra a figura abaixo:


Pgina de download do Eclipse

Agora basta clicar no link de download para baixar a ferramenta Eclipse.

Depois de efetuado o download da ferramenta Eclipse. Vamos instalar a nossa
ferramenta em um local apropriado. Para instalar o Eclipse, basta
descompact-lo em um diretrio desejado. O diretrio de instalao do
Eclipse para esse caso ser o diretrio raiz C:\. Ao descompactar o arquivo
da aplicao, certifique-se de que foi gerado o diretrio C:\eclipse e que o
mesmo apresenta o contedo demonstrado na figura abaixo:


14

Contedo do diretrio eclipse

Se tudo estiver de acordo com a figura acima, sigfinica que os procedimentos
foram seguidos, conforme mencionado.

2.2) Instalando o Android SDK e o ADT-Plugin

O Eclipse pelo fato de trabalhar com a linguagem J ava , no acompanha
nenhum kit de desenvolvimento para Android. Esse kit de desenvolvimento
devemos obter no site de desenvolvedores do Android.

Para essa obra estarei utilizando a verso do Android SDK reviso 20. Para
efetuar o download devemos visitar o link abaixo:

http://developer.android.com/sdk/index.html

Depois de visitar o link ser aberta a seguinte pgina, conforme demonstra a
figura seguinte:


15

Site do Android Download do Android SDK


Para efetuar o download do Android SDK, basta clicar no boto Download the
SDK Windows. Depois de efetuado o download do Android SDK, vamos
instalar ele no nosso computador. Execute o utilitrio de instalao, conforme
voc confere na figura abaixo:


Instalao do Androi d SDK

Clique em Next para continuar. Na prxima seo, ser verificado se voc
tem o J ava instalado em sua mquina. Se voc tiver, a deteco ocorrer com
sucesso, conforme voc pode conferir na figura seguinte:


16

Instalao do Androi d SDK

Vamos clicar em Next para continuarmos com a instalao. Possivelmente ao
chegar na prxima tela, ser solicitado para quais usurios a instalao ser
visvel, conforme demonstrado abaixo:


Instalao do Androi d SDK

Voc vai escolher a opo mais apropriada para o seu caso. Depois disso
clique em Next e na prxima tela vamos definir o diretrio de instalao do
Android, conforme mostrado na figura abaixo:


17

Instalao do Androi d SDK

Nessa instalao , irei instalar o Android no diretrio c:\android_sdk\,
conforme voc confere na figura abaixo:


Instalao do Androi d SDK

Vamos clicar me Next para continuar o processo. Na prxima tela
simplesmente clique em Install para que a instalao seja feita, conforme
demonstrado abaixo:


18

Instalao do Androi d SDK


Aps a instalao ser concluda, execute o Android SDK Manager. Ao carregar
a aplicao, o programa ir processar todos os recursos disponveis, conforme
demonstra a figura abaixo:


Android SDK Buscando atualizaes

Depois de concludo processo, podemos ver que o Android SDK nos oferece
vrias plataformas Android e entre outros recursos que podemos utilizar
durante o desenvolvimento de nossas aplicaes. Por padro, a opo de
download da plataforma Android marcada a verso 4.1 (J elly Bean),
conforme podemos ver abaixo:


19

Android SDK Processo concludo


Porm, no iremos trabalhar com essa verso 4.1 da plataforma. Nesta obra
iremos trabalhar com a verso 2.2 do Android (Froyo), pelo fato dessa verso
do sistema operacional existir na maioria das plataformas mveis existentes
(Smartphones e at Tablets). Todas as aplicaes desenvolvidas nessa verso
do sistema, na prtica, so suportadas pelas verses superiores do Android
(como o 4.0 e o 4.1).

Para isso vamos desmarcar a opo Android 4.1 (API 16) e vamos marcar as
seguintes opes do Android 2.2, conforme demonstra a figura seguinte:


Android SDK - Preparando para instalar o Android 2.2


20
Se rolarmos um pouco abaixo, teremos na seo Extras a opo Google
USB Driver marcado, conforme demonstrado na figura seguinte:


Android SDK Google USB Driver

Para que serve esse recurso ? Esse recurso bastante til quando queremos
testar a nossa aplicao diretamente no dispositivo mvel real (sem ser pelo
emulador), ou seja, ao invs de rodar a aplicao no emulador, ele ir instalar a
aplicao no dispositivo (smartphone) plugado em uma porta USB e ir
execut-lo em seguida. Vamos deixar essa opo marcada.

Para instalarmos os recursos selecionados, clique no boto Install 4 packages
e sem seguida ser aberta a seguinte caixa de dilogo:


Preparando para instalar

Marque a opo Accept All para confirmar a instalao de todos os itens que
definimos anteriormente, e em seguida, clique em Install. O processo de
instalao ir acontecer, conforme voc pode ver na figura abaixo:

21


Android SDK Download do Android 2.2 e de seus recursos

Durante o download do Android e dos seus recursos, dever surgir a seguinte
caixa de dilogo, conforme demonstra a figura abaixo:


Android SDK Manager Log Processo de instalao


Aguarde at que o processo de download esteja concludo. Quando o
download terminar, feche a caixa de log e em seguida, feche o Android SDK.

Vamos efetuar agora o download do plugin ADT (Android Development Tool),
responsvel para que possamos programar no Android atravs do Eclipse.
Para efetuar o download, entre no link abaixo:

http://developer.android.com/sdk/installing/installing-adt.html

Ao entrar no link acima, ser carregado a seguinte pgina conforme demonstra
a prxima figura:

22


Site do Android Pgina de download do plugin ADT

Se rolarmos a pgina abaixo , encontraremos o link para o download do plugin,
conforme voc confere em seguida:


Site do Android Link do download do plugin

Para efetuar o download basta clicar no local indicado na figura acima.

Depois do download do plugin, coloque-o dentro do diretrio C:\eclipse\, local
onde se encontra instalado a ferramenta de desenvolvimento para J ava
(Android).

23

2.3) Configurando o Android SDK no Eclipse

Uma etapa concluda. Agora vamos configurar o Android SDK no Eclipse, de
forma que possamos desenvolver nossas aplicaes para essa plataforma
atravs do plugin ADT que acabamos de baixar.
Quando voc executar o Eclipse pela primeira vez, ser solicitado um diretrio
de Workspace (diretrio de trabalho), que o local no qual o Eclipse vai gerar
os projetos, conforme voc confere na figura seguinte:



Diretrio do Workspace

Escolha o diretrio desejado para seu Workspace e , caso voc deseje que
ela seja definitivo, marque a opo Use this as the default and do not ask
again. Depois disso clique em OK.

Feito isso, o ambiente de programao Eclipse ser carregado, conforme
demonstra a figura seguinte:


24

Ambiente de programao Eclipse


Agora vamos instalar o plugin do Android para podemos fazer a interface do
Eclipse com o Android SDK, permitindo que a gente desenvolva aplicaes
para essa plataforma. Vamos no menu Help e sem seguida selecione Install
New Software, conforme demonstra a figura abaixo:


Install New Software

Feito isso ser aberta a caixa de dilogo conforme demonstra figura seguinte:



25

Caixa de dilogo - Install

Para instalarmos o plugin do Android, clique no boto Add, e ser exibida
uma caixa de dilogo conforme mostra a figura abaixo:


Caixa de dilogo - Add Repository

Agora vamos clicar no boto Archive e iremos procurar e selecionar o plugin
do Android A.D.T-16.0.1.zip. Preencha o campo Name como mostra a figura
abaixo:


26

Caixa de dilogo - Add Site

Ao clicar em OK ser mostrada uma tela, conforme demonstra a figura
seguinte:


Caixa de Dialogo - Install


Agora marque as opes Developer Tools e NDK Plugin conforme mostra a
figura seguinte:





27

Caixa de Dialogo - Install

Aps fazer isso clique no boto Next, e em seguida ser mostrada a prxima
tela, conforme demonstra a figura seguinte:


Caixa de Dialogo - Install


28

Ao clicar em Next ser aberta uma tela de Licena, conforme a figura abaixo
:


Caixa de Dialogo - Install


Para prosseguir com a instalao marque a opo I accept the terms of the
license agreements e em seguida, clique no boto Finish. Aps isso ocorrer
alguns processos, como demonstra a figura seguinte, aguarde at terminar.



Instalando do Androi d no Eclipse



29
Se em algum momento durante o processo for exibida uma caixa de dilogo,
conforme mostra a figura seguinte:


Caixa de mensagem

Pode clicar em OK sem problemas, e o processo se completar. Aps o
trmino do processo voc deve reiniciar o Eclipse, clicando em Yes, na
mensagem abaixo:



Caixa de mensagem

Aps o Eclipse ter reiniciado, vamos fazer agora as configuraes para fazer
conexo com o emulador do Android. Vamos no menu Window /
Preferences. Aberta a caixa de dilogo, selecione o item Android e ser
mostrada uma tela, conforme demonstra a figura seguinte:


30

Caixa de dilogo - Preferences


Certifique-se de que os dados esto de acordo com a figura acima (apontando
para o diretrio C:\android_sdk\). Caso no esteja, especifique o diretrio
onde voc instalou o Android SDK (no caso o C:\android_sdk\).

Para finalizar vamos definir um dispositivo virtual, conhecido como AVD
(Android Virtual Device), onde nossas aplicaes daqui para frente sero
executadas. Para isso, v no menu Windows / AVD Manager, conforme
mostra a figura seguinte:


31

AVD Manager

Feito o procedimento acima, ser aberta uma tela conforme mostra a figura
seguinte:


Caixa de dilogo Android Virtual Device Manager

Para criarmos um dispositivo virtual clique no boto New, e em seguida ser
aberta uma tela conforme mostra a figura seguinte:


32

Caixa de dilogo - Crete new AVD


Inicialmente, vamos configurar o bsico pra executarmos a nossa aplicao.
Em Name voc define o nome do AVD, vamos cham-lo de Emulador.

Em Target definirmos a plataforma-alvo a ser executada, neste caso s temos
uma, o Android 2.2 - API Level 8. Vamos selecion-la.

Em Skin na opo Built-in a opo padro Default (WVGA800). Vamos
mudar essa opo para HVGA.

Depois de preencher todos os campos, a tela de criao do AVD deve estar de
acordo com a figura abaixo:



33

Caixa de dilogo - Create new AVD

Para criarmos nosso AVD, clique no boto Create AVD e pronto. O resultado
voc confere na figura seguinte:


AVD Criado com sucesso

At aqui aprendemos a instalar e configurar a plataforma Android no Eclipse.
Agora vamos dar nossos primeiros passos desenvolvendo uma aplicao
bsica no Android.

34

Capitulo 4 Construindo nossas
aplicaes no Android



amos colocar a mo na massa ? A partir de agora iremos comear a
desenvolver as nossas aplicaes no Android utilizando os
componentes descritos no captulo anterior. Comearemos com
aplicaes simples e aos poucos iremos evoluir, criando aplicaes mais ricas.

4.1) Desenvol vendo uma Calculadora Bsica

Vamos construir a nossa primeira aplicao que vai consistir em uma
calculadora bsica com as quatro operaes aritmticas. Para criar um projeto
em Android (conforme j foi mostrado mas, mostro novamente aqui) vamos no
menu File/New e em seguida selecione Others. Em seguida expanda a
pasta Android e logo aps selecione a opo Android Application Project,
conforme mostra a figura seguinte :


Android Application Project

V

35
OBS : Possivelmente (isso depende das configuraes do Eclipse), voc
poder ver o subitem Android Application Project no prprio menu File /
New, conforme demonstra a imagem seguinte. Caso isso acontea, voc
pode selecionar que o mesmo processo dos passos descritos acima.



Android Application Project (pelo menu)



Seguido um dos passos descritos acima, ir se abrir a caixa de dilogo abaixo:


Criando o projeto Calculadora

Agora vamos preencher os campos, conforme abaixo:

Application Name : Calculadora

Project Name : Calculadora

Package Name : com.example.calculadora

Confira como ficou na figura abaixo:


36

Criando o projeto Calculadora Campos preenchidos

Agora na prxima seo (clicando em Next) escolhemos o cone para a nossa
aplicao (conforme demonstra a imagem seguinte). Fique a vontade para
escolher seu cone (Dica : escolha cones que tenham de uma certa forma,
relao com a aplicao em desenvolvimento).


Criando o projeto Calculadora Definindo um cone

37

Depois de definir seu cone vamos para a prxima etapa, onde vamos escolher
qual tipo de Activity iremos criar (por padro, o BlackActivity), conforme
demonstra a prxima imagem:


Criando o projeto Calculadora Definindo a Acti vity

Agora na prxima seo (clicando em Next) vamos preencher as informaes
da Activity, conforme mostrado abaixo:

Activity Name : CalculadoraActivity

Layout Name : activity_calculadora

Title : Calculadora

Confira como ficou na figura seguinte:


38

Criando o projeto Calculadora Informaes preenchidas

Depois de preenchidas as informaes, vamos criar o nosso projeto clicando
no boto Finish. Feito isso o nosso projeto ser criado.

A primeira coisa que iremos fazer a alterar a estrutura de layout (trocar de
RelativeLayout para LinearLayout) que vai comportar nossos componentes.

Depois de alterar a estrutura de layout vamos selecionar o componente
TextView na tela (cuja frase est escrito Hello World) e vamos alterar as
seguintes propriedades, como segue:

TextView

Propriedade Valor
Padding (deixar em branco)
Text Digite o primeiro
nmero











39
Veja o resultado:


Tela da aplicao em desenvol vimento

Agora arraste e solte um componente Plain Text (EditText) abaixo do ttulo e
em seguida vamos atribuir um nome de componente para ele (por padro, ele
coloca editText1), clicando com o boto direito do mouse sobre ele e em
seguida, selecionar Edit ID. Confira na imagem abaixo:


Al terando o nome do componente

Feito isso, vai ser aberto uma caixa de dilogo conforme mostra a imagem
seguinte:


Caixa para alterao do nome do componente

40

Conforme falei, o nome do componente editText1. Agora vamos mudar o
nome desse componente para ednumero1 (sem aspas, claro). Feito isso
vamos clicar em OK para confirmar a alterao.
Porque alterar a sua ID ? Isso necessrio pois vamos manipular esse
componente atravs do cdigo J ava, ento nada mais justo do que trabalhar
com componentes cujos nomes estejam de forma clara e organizada.

Agora arraste e solte um componente TextView abaixo da caixa de texto que
inserimos, e em seguida altere as seguintes propriedades:

TextView

Propriedade Valor
Text Digite o segundo
nmero


Logo aps , arraste e solte um componente Plain Text (EditText) abaixo do
componente acima inserido, e altere seu nome (ID) para ednumero2
(conforme j foi mostrado).

Veja o resultado:


Tela da aplicao em desenvol vimento

Agora vamos adicionar um componente Button abaixo da caixa de texto, que
vai ser o nosso boto de somar os nmeros. Depois de adicionar, vamos
alterar as suas propriedades, conforme mostrado abaixo:


Button

Propriedade Valor
Text Somar
Width fill_parent


41
Depois disso vamos atribuir um nome (ID) para o componente, que vai se
chamar btsomar. Veja o resultado abaixo:


Tela da aplicao em desenvol vimento


Para comearmos, vamos fazer o teste da nossa aplicao realizando somente
soma dos nmeros (implementaremos as outras operaes restantes daqui a
pouco). Agora salve o arquivo activity_calculadora.xml , para confirmar todas
as alteraes feitas, antes de trabalharmos com a parte da programao J ava
(que vai fazer uso dos componentes da tela da aplicao via cdigo).

Depois de salvar o arquivo XML vamos abrir o arquivo
CalculadoraActivity.java (situado no pacote com.example.calculadora, que
fica dentro do diretrio src). Veja a imagem abaixo:



Arqui vo CalculadoraActi vity.java


Feito isso ser aberto o seu contedo conforme demonstrado na imagem
seguinte:


42

Contedo do arquivo CalculadoraActi vity.java

Se voc observar no cdigo acima, na seo onde se declaram os pacotes,
existe a seguinte instruo :

import andr oi d. os. Bunbl e;

Nessa linha se voc observar (conforme demonstra a figura acima), existe um
sinal de +, que na verdade indica que h mais de uma importao (processo
esse que o eclipse faz para simplificar e organizar a compreenso do
cdigo). Para voc visualizar todos os pacotes utilizados basta clicar nesse
sinal. Confira o resultado na prxima figura:



Visualizando todos os pacotes


Para comear, vamos importar alguns pacotes da plataforma Android que
sero necessrios para o desenvolvimento da nossa aplicao. Na seo onde
se encontram os pacotes importados , vamos importar mais alguns pacotes
digitando as seguintes linhas de comando abaixo:


import andr oi d. wi dget . *;
import andr oi d. vi ew. *;
import andr oi d. app. *;

43

Agora no cdigo do nosso programa, antes da linha:

@Over r i de

Digite:

Edi t Text ednumer o1, ednumer o2;
But t on bt somar ;


Agora vamos explicao do cdigo acima. Como voc pode ver , os widgets
tambm podem ser usados no nosso cdigo J ava. Se no cdigo XML eu
possuir um widget do tipo EditText, para acessar esse componente pelo J ava
preciso fazer uso da classe EditText. Cada widget no XML possui o seu
respectivo em classe J ava, logo, se possui um widget Button, para acess-lo
devo fazer uso da classe Button e assim vai.


Agora dentro do mtodo onCreate aps a linha:

set Cont ent Vi ew( R. l ayout . activity_calculadora) ;

Digite as seguintes linhas de cdigo:


ednumer o1 = ( Edi t Text ) f i ndVi ewByI d( R. i d. ednumero1) ;
ednumer o2 = ( Edi t Text ) f i ndVi ewByI d( R. i d. ednumero2) ;
bt somar = ( But t on) f i ndVi ewByI d( R. i d. btsomar) ;


Agora vou explicar as linhas de comando acima que adicionamos. A linha:

ednumer o1 = ( Edi t Text ) f i ndVi ewByI d( R. i d. numer o1) ;

Faz referncia ao primeiro EditText, atravs do mtodo findViewById com o
parmetro R.id.numero1.

Se lembra do nome da primeira EditText que est no cdigo XML? Ela se
chama ednumero1.

Vamos entender. Observe que para fazer referncia ao EditText pelo mtodo
findViewById eu passei o parmetro R.id.numero1.

Na segunda instruo que digitamos, para fazer referncia segunda
EditText, cujo nome ednumero2, pelo mtodo findViewById, passei o
parmetro R.id.numero2.

Como voc pode ver, estou fazendo uso da classe R (situado dentro do
diretrio gen, presente no pacote com.example.calculadora) que funciona

44
como interface entre o cdigo J ava e o arquivo XML. O procedimento o
mesmo para o componente Button.

Agora iremos adicionar um evento em nosso componente Button que ser
responsvel por detectar toda vez que ele for clicado, executando um
conjunto de instrues aps o evento (que vai consistir na soma dos nmeros e
na exibio do resultado). Para adicionarmos esse evento em nosso
componente, basta escrevermos, aps a ltima instruo que adicionamos, a
seguinte linha de cdigo:


bt somar . set OnCl i ckLi st ener ( new Vi ew. OnCl i ckLi st ener ( ) {

@Over r i de
public void onCl i ck( Vi ew ar g0) {

double num1 = Doubl e. parseDouble(
ednumer o1. get Text ( ) . t oSt r i ng( ) ) ;


double num2 = Doubl e. parseDouble(
ednumer o2. get Text ( ) . t oSt r i ng( ) ) ;
double soma = num1 + num2;

Al er t Di al og. Bui l der di al ogo = new
Al er t Di al og. Bui l der ( Cal cul ador aAct i vi t y. this) ;

di al ogo. set Ti t l e( " Resul t ado soma" ) ;

di al ogo. set Message( " A soma " + soma) ;

di al ogo. set Neut r al But t on( " OK" , null) ;

di al ogo. show( ) ;

}
}) ;



Toda vez que eu clicar no boto ele ir mostrar o resultado da soma na tela
atravs de uma caixa de mensagem. timo!

Vamos executar a nossa aplicao? Para executar faa os mesmos
procedimentos que j mostrei. O resultado da execuo dessa aplicao voc
v na figura seguinte:


45

Aplicao em execuo

OBS: Provavelmente durante a execuo da aplicao ao entrar com um
nmero, deve ter surgido no dispositivo um teclado virtual (como mostra a
figura acima), para ocultar ele s pressionar ESC.

Irei descrever o cdigo do evento de clique. O mtodo setOnClickLisneter
serve para definir um evento de clique em um componente. Como
parmetro, criamos uma instncia da interface OnClickListener, e dentro da
mesma existe um mtodo chamado onClick, que ser disparado toda vez que
o boto for clicado.


A linha:

double num1 = Doubl e. parseDouble( ednumer o1. get Text ( ) . t oSt r i ng( ) ) ;

Cria uma varivel chamada num1 e atribui a ela o valor que est contido dentro
do componente identificado como ednumero1. Eu fao uso do mtodo
parseDouble da classe Double pois o contedo uma String. Observem que
chamo o mtodo getText de ednumero1 para retornar o contedo. Diferente de
muitos mtodos de retorno 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 similar ao que j foi explicado.



Logo aps a soma dos nmeros que ser armazenada na varivel soma , vem
o cdigo em seguida:



46


Al er t Di al og. Bui l der di al ogo = new
Al er t Di al og. Bui l der ( Cal cul ador aAct i vi t y. this) ;

di al ogo. set Ti t l e( " Resul t ado soma" ) ;

di al ogo. set Message( " A soma " + soma) ;

di al ogo. set Neut r al But t on( " OK" , null) ;

di al ogo. show( ) ;

Que mostra a soma dos nmeros digitados na tela. Para conseguirmos exibir
uma mensagem na tela, tivemos que fazer uso da classe AlertDialog.Builder,
responsvel por criar caixas de dilogo e exibi-las. Vamos aos comentrios.
A linha de comando:

Al er t Di al og. Bui l der di al ogo = new
Al er t Di al og. Bui l der ( Cal cul ador aAct i vi t y. t hi s) ;

Cria a instncia da classe AlertDialog.Builder que ser representada e
guardada dentro da varivel dialogo. Na linha seguinte:

di al ogo. set Ti t l e( " Resul t ado soma" ) ;

Define o ttulo da caixa de dilogo atravs do mtodo setTitle. Na linha
seguinte:

di al ogo. set Message( " A soma " + soma) ;

Define a mensagem a ser exibida atravs do mtodo setMessage. Na linha
seguinte:

di al ogo. set Neut r al But t on( " OK" , null) ;

Define o boto OK da caixa de texto atravs do mtodo setNeutralButton. O
parmetro null indica que nenhuma ao ser executada quando o boto for
clicado (simplesmente a caixa ser fechada e nada mais). E para finalizar:

di al ogo. show( ) ;


Que responsvel por exibir a mensagem na tela por imediato.

Agora vamos continuar as outras operaes certo ? Retornaremos ento para
a tela da nossa aplicao e vamos adicionar mais 3 botes referentes as
operaes restantes. Vamos adicionar na tela mais trs botes como segue
(um em baixo do outro, conforme a sequncia abaixo):

47
Button

Propriedade Valor
Id btsubtrair
Text Subtrair
Width fill_parent

Button

Propriedade Valor
Id btmultiplicar
Text Multiplicar
Width fill_parent

Button

Propriedade Valor
Id btdividir
Text Dividir
Width fill_parent

Depois de finalizado o que foi se pedido acima, veja como ficou a tela da
nossa aplicao:


Tela da aplicao da calculadora




48
Agora retornando para o cdigo do arquivo CalculadoraActivity.java, vamos
declarar mais trs atributos (variveis) que vo corresponder aos botes que
representam as operaes restantes, conforme destaca a linha em negrito:

:
But t on bt somar , btsubtrair,btmultiplicar, btdividir;
:

Agora vamos atribuir para cada boto um evento de clique, fazendo com que
eles efetuem a sua respectiva operao aritmtica. Vamos continuar a
codificao do mtodo onCreate , digitando o seguinte cdigo abaixo:

bt subt r ai r = ( But t on) f i ndVi ewByI d( R. i d. btsubtrair) ;

bt mul t i pl i car =( But t on) f i ndVi ewByI d( R. i d. btmultiplicar) ;

bt di vi di r = ( But t on) f i ndVi ewByI d( R. i d. btdividir) ;

bt subt r ai r . set OnCl i ckLi st ener ( new Vi ew. OnCl i ckLi st ener ( ) {

@Over r i de
public void onCl i ck( Vi ew ar g0) {

double num1 = Doubl e. parseDouble
( ednumer o1. get Text ( ) . t oSt r i ng( ) ) ;

double num2 = Doubl e. parseDouble
( ednumer o2. get Text ( ) . t oSt r i ng( ) ) ;

double soma = num1 - num2;

Al er t Di al og. Bui l der di al ogo = new
Al er t Di al og. Bui l der ( Cal cul ador aAct i vi t y. this) ;

di al ogo. set Ti t l e( " Resul t ado subt r ao" ) ;

di al ogo. set Message( " A subt r ao " + soma) ;

di al ogo. set Neut r al But t on( " OK" , null) ;

di al ogo. show( ) ;

}
}) ;


bt mul t i pl i car . set OnCl i ckLi st ener ( new Vi ew.
OnCl i ckLi st ener ( ) {

@Over r i de
public void onCl i ck( Vi ew ar g0) {

double num1 = Doubl e. parseDouble
( ednumer o1. get Text ( ) . t oSt r i ng( ) ) ;


49
double num2 = Doubl e. parseDouble
( ednumer o2. get Text ( ) . t oSt r i ng( ) ) ;

double soma = num1 * num2;

Al er t Di al og. Bui l der di al ogo = new
Al er t Di al og. Bui l der ( Cal cul ador aAct i vi t y. this) ;

di al ogo. set Ti t l e( " Resul t ado mul t i pl i cao" ) ;

di al ogo. set Message( " A mul t i pl i cao " + soma) ;

di al ogo. set Neut r al But t on( " OK" , null) ;

di al ogo. show( ) ;

}
}) ;

bt di vi di r . set OnCl i ckLi st ener ( new Vi ew. OnCl i ckLi st ener ( ) {

@Over r i de
public void onCl i ck( Vi ew ar g0) {

double num1 = Doubl e. parseDouble
( ednumer o1. get Text ( ) . t oSt r i ng( ) ) ;

double num2 = Doubl e. parseDouble
( ednumer o2. get Text ( ) . t oSt r i ng( ) ) ;

double soma = num1 / num2;

Al er t Di al og. Bui l der di al ogo = new
Al er t Di al og. Bui l der ( Cal cul ador aAct i vi t y. this) ;

di al ogo. set Ti t l e( " Resul t ado di vi so" ) ;

di al ogo. set Message( " A di vi so " + soma) ;

di al ogo. set Neut r al But t on( " OK" , null) ;

di al ogo. show( ) ;

} }) ;


Depois de escrever o cdigo acima, salve o arquivo e em seguida teste a
aplicao. Veja o resultado na figura seguinte:

50

Aplicao da calculadora em execuo

4.2) Desenvol vendo uma aplicao simples de compras

Agora para aprimorarmos o nosso conhecimento no desenvolvimento de
aplicaes para Android, vamos criar um outro aplicativo que consiste em um
sistema de compras, bem simples. Em nossa aplicao terei disponvel cinco
produtos: Arroz (R$ 2,69) , Leite (R$ 5,00) , Carne (R$ 10,00), Feijo (R$ 2,30)
e Refrigerante Coca-Cola (R$ 2,00). Nessa aplicao eu marco os itens que
quero comprar e no final o sistema mostra o valor total das compras.


Na aplicao que iremos desenvolver vamos utilizar os seguintes widgets :
TextView, CheckBox e Button.

Bom, vamos criar um novo projeto no Eclipse para Android chamado
SistemaDeCompras. Siga os dados do projeto abaixo:

Application Name: SistemaDeCompras

Project Name: SistemaDeCompras

Package Name : com.example.sistemadecompras


51
Build SDK : Android 2.2 (API 8)

Minimum Required SDK : API 8: Android 2.2 (Froyo)

Activity Name: ComprasActivity

Layout Name : activity_compras

Title : Sistema de Compras

Depois de carregado e criado o projeto, vamos alterar a estrutura de layout
padro (RelativeLayout) para LinearLayout. Em seguida, modifique o
componente TextView situado na tela, de acordo com a tabela abaixo:

TextView

Propriedade Valor
Padding (deixar em branco)
Text Escolha seu produto


Feito o que se foi pedido, adicione os seguintes componentes na sequncia:

CheckBox

Propriedade Valor
Text Arroz (R$ 2,69)
Id chkarroz

CheckBox


Propriedade Valor
Text Leite (R$ 5,00)
Id chkleite

CheckBox

Propriedade Valor
Text Carne (R$ 9,70)
Id chkcarne

CheckBox

Propriedade Valor
Text Feijo (R$ 2,30)
Id chkfeijao

52

Button

Propriedade Valor
Text Total das compras
Id bttotal
Width fill_parent


Ao final, o layout da nossa aplicao deve estar de acordo com a figura
seguinte:


Layout da tela da aplicao


Agora vamos modificar o arquivo ComprasActivity.java. O cdigo completo
desse arquivo ser como o cdigo que exibido abaixo:


package com. exampl e. si st emadecompr as;

import andr oi d. os. Bundl e;
import andr oi d. app. Act i vi t y;
import andr oi d. vi ew. Menu;
import andr oi d. wi dget . *;
import andr oi d. vi ew. *;
import andr oi d. app. *;

public class Compr asAct i vi t y extends Act i vi t y {

CheckBox chkar r oz, chkl ei t e, chkcar ne, chkf ei j ao;

But t on bt t ot al ;

53


@Over r i de
public void onCr eat e( Bundl e savedI nst anceSt at e) {
super. onCr eat e( savedI nst anceSt at e) ;
set Cont ent Vi ew( R. l ayout . activity_compras) ;

chkar r oz = ( CheckBox)
f i ndVi ewByI d( R. i d. chkarroz) ;

chkl ei t e = ( CheckBox)
f i ndVi ewByI d( R. i d. chkleite) ;

chkcar ne = ( CheckBox)
f i ndVi ewByI d( R. i d. chkcarne) ;

chkf ei j ao = ( CheckBox)
f i ndVi ewByI d( R. i d. chkfeijao) ;


But t on bt t ot al = ( But t on) f i ndVi ewByI d( R. i d. bttotal) ;

bt t ot al . set OnCl i ckLi st ener ( new Vi ew. OnCl i ckLi st ener ( ) {

@Over r i de
public void onCl i ck( Vi ew ar g0) {

double t ot al =0;

if( chkar r oz. i sChecked( ) )
t ot al += 2. 69;

if( chkl ei t e. i sChecked( ) )
t ot al += 5. 00;

if( chkcar ne. i sChecked( ) )
t ot al += 9. 7;

if( chkf ei j ao. i sChecked( ) )
t ot al += 2. 30;

Al er t Di al og. Bui l der di al ogo = new
Al er t Di al og. Bui l der ( Compr asAct i vi t y. this) ;

di al ogo. set Ti t l e( " Avi so" ) ;
di al ogo. set Message( " Val or t ot al da compr a : " +
St r i ng. valueOf( t ot al ) ) ;

di al ogo. set Neut r al But t on( " OK" , null) ;

di al ogo. show( ) ;


}
}) ;

}



54
@Over r i de
public boolean onCr eat eOpt i onsMenu( Menu menu) {
get MenuI nf l at er ( ) . i nf l at e( R. menu.
activity_compras, menu) ;
return true;
}


}

Agora vou descrever o cdigo situado no mtodo onClick. Dentro do mtodo
eu crio uma varivel chamada total que armazena o valor total da compra.
Observe que eu tenho quatro estruturas ifs onde cada uma verifica se um
determinado item foi marcado, se foi, incrementa o valor do item na varivel
total. No final exibido o valor total das compras na tela.

Vamos roda nossa aplicao? O resultado voc confere na figura seguinte:



Aplicao simples de compras em execuo







55

4.3) Desenvol vendo uma aplicao de clculo de salrio

Agora vamos desenvolver uma nova aplicao que vai consistir em um sistema
onde ns vamos digitar o salrio de um funcionrio permitindo escolher o seu
percentual de aumento, que pode ser de 40% , 45% e 50%. Ao final de tudo, o
sistema ir mostrar o salrio reajustado com o novo aumento.

Para essa aplicao vamos utilizar os seguintes widgets : TextView, EditText,
RadioButton e Button.

Bom, vamos l! Crie um novo projeto Android com os seguintes dados abaixo:

Application Name: CalculoDeSalario

Project Name: CalculoDeSalario

Package Name : com.example.calculodesalario

Build SDK : Android 2.2 (API 8)

Minimum Required SDK : API 8: Android 2.2 (Froyo)

Activity Name: SalarioActivity

Layout Name : activity_salario

Title : Calculo de salrio


Depois de carregado e criado o projeto, vamos alterar a estrutura de layout
padro (RelativeLayout) para LinearLayout. Em seguida, modifique o
componente TextView situado na tela, de acordo com a tabela abaixo:


TextView

Propriedade Valor
Padding (deixar em branco)
Text Digite seu salrio


Em seguida, adicione os seguintes componentes na sequncia:





56
EditText (Number Decimal)

Propriedade Valor
Text
Id edsalario
Width fill_parent



TextView

Propriedade Valor
Text Qual o seu percentual ?


Seguindo os passos acima ate aqui, a aplicao deve estar de acordo com o
d figura abaixo:


Tela de layout da aplicao Clculo de salrio


Bom, agora vamos adicionar um componente, ou melhor, uma estrutura que
ser responsvel por agrupar as RadioButtons dentro dela, que se chama
RadioGroup (Para mais informaes veja o Captulo 4). O RadioGroup j
oferece por padro trs RadioButtons, que quantidade necessria para a
nossa aplicao. Clique a arraste o componente abaixo do ultimo widget
adicionado. O resultado voc confere na figura abaixo:


57

Estrutura RadioGroup inserida


Com o RadioGroup selecionado, modifique as propriedades abaixo:

RadioGroup

Propriedade Valor
Width fill_parent
Id rgopcoes

Observe que dentro do RadioGroup existem trs elementos, cada um deles do
tipo RadioButton e identificados por um nome. Se voc observar no Eclipse,
direita da tela da aplicao, existe uma seo chamada Outline, onde nela
posso visualizar toda a estrutura dos componentes que esto na minha
aplicao. Confira na figura abaixo:


Guia Outline


58
Agora modifique as propriedades das RadioButons de acordo com as
indicaes abaixo:

radio0

Propriedade Valor
Text 40%
Id rb40

radio1

Propriedade Valor
Text 45%
Id rb45

radio2

Propriedade Valor
Text 50%
Id rb50

Agora, vamos adicionar uma Button, simplesmente clicando e arrastando o
componente na tela. Agora um detalhe, para colocar esse componente na
tela do dispositivo mas FORA da rea do RadioGroup.

Depois de colocar o Button, modifique as propriedades abaixo:

Propriedade Valor
Text Calcular novo salrio
Id btcalcular
Width fill_parent

Depois de inserir todos os componentes citados, o layout da aplicao deve
ficar de acordo com a figura seguinte:



59

Layout da tela da aplicao

Vamos analisar agora parte de um trecho de cdigo produzido. Como havia
falado acima, as RadioButtons precisam ficar dentro de uma estrutura
chamada RadioGroup certo ? Vamos ver como isso estruturado dentro de
um cdigo XML, como voc confere abaixo:

<Radi oGr oup
andr oi d: i d=" @+i d/ r gopcoes"
andr oi d: l ayout _wi dt h=" f i l l _par ent "
andr oi d: l ayout _hei ght =" wr ap_cont ent " >

<Radi oBut t on
andr oi d: i d=" @+i d/ r b40"
andr oi d: l ayout _wi dt h=" wr ap_cont ent "
andr oi d: l ayout _hei ght =" wr ap_cont ent "
andr oi d: checked=" t r ue"
andr oi d: t ext =" 40%" / >

<Radi oBut t on
andr oi d: i d=" @+i d/ r b45"
andr oi d: l ayout _wi dt h=" wr ap_cont ent "
andr oi d: l ayout _hei ght =" wr ap_cont ent "
andr oi d: t ext =" 45%" / >

<Radi oBut t on
andr oi d: i d=" @+i d/ r b50"
andr oi d: l ayout _wi dt h=" wr ap_cont ent "
andr oi d: l ayout _hei ght =" wr ap_cont ent "
andr oi d: t ext =" 50%" / >

</ Radi oGr oup>

Observe acima que logo aps a definio da estrutura RadioGroup, existe
dentro dela as RadioButtons, que sero utilizadas na aplicao.


No arquivo SalarioActivity.java vamos colocar o seguinte cdigo abaixo:

60


package com. exampl e. cal cul odesal ar i o;

import andr oi d. os. Bundl e;
import andr oi d. app. Act i vi t y;
import andr oi d. wi dget . *;
import andr oi d. vi ew. *;
import andr oi d. app. *;

public class Sal ar i oAct i vi t y extends Act i vi t y {

Radi oGr oup r gopcoes;
But t on bt cal cul ar ;

Edi t Text edsal ar i o;

@Over r i de
public void onCr eat e( Bundl e savedI nst anceSt at e) {
super. onCr eat e( savedI nst anceSt at e) ;
set Cont ent Vi ew( R. l ayout . activity_salario) ;

edsal ar i o = ( Edi t Text ) f i ndVi ewByI d
( R. i d. edsalario) ;

r gopcoes = ( Radi oGr oup) f i ndVi ewByI d
( R. i d. rgopcoes) ;

bt cal cul ar = ( But t on) f i ndVi ewByI d( R. i d. btcalcular) ;

bt cal cul ar . set OnCl i ckLi st ener ( new Vi ew.
OnCl i ckLi st ener ( ) {

@Over r i de
public void onCl i ck( Vi ew ar g0) {

double sal ar i o = Doubl e. parseDouble
( edsal ar i o. get Text ( ) . t oSt r i ng( ) ) ;

int op = r gopcoes. get CheckedRadi oBut t onI d( ) ;

double novo_sal ar i o = 0;

if( op==R. i d. rb40)
novo_sal ar i o = sal ar i o + ( sal ar i o * 0. 4) ;
else if( op==R. i d. rb45)
novo_sal ar i o = sal ar i o + ( sal ar i o * 0. 45) ;
else
novo_sal ar i o = sal ar i o + ( sal ar i o * 0. 5) ;


Al er t Di al og. Bui l der di al ogo = new
Al er t Di al og. Bui l der ( Sal ar i oAct i vi t y. this) ;

di al ogo. set Ti t l e( " Novo sal r i o" ) ;

di al ogo. set Message( " Seu novo sal r i o : R$" +
St r i ng. valueOf( novo_sal ar i o) ) ;

61

di al ogo. set Neut r al But t on( " OK" , null) ;

di al ogo. show( ) ;


}
}) ;
}



}

Vamos explicao de alguns cdigos interessantes. Dentro do mtodo
onClick, eu realizo o clculo do novo salrio do funcionrio. Os primeiros
cdigos do evento so similares de programas anteriores que j foram
devidamente explicados. A linha:

int op = r g. get CheckedRadi oBut t onI d( ) ;

Cria uma varivel op e retorna para ela o Id da opo selecionada, ou seja,
qual RadioButton foi selecionada.

Agora na condio:


if( op==R. i d. rb40)


Verifico se a opo de 40% foi selecionada, se foi selecionada, realiza o clculo
do salrio com o reajuste de 40%. A mesma explicao e vlida para o clculo
dos outros reajustes. Agora vamos executar a nossa aplicao. O resultado
voc v na figura seguinte:


62

Aplicao de clculo de salrio em execuo

4.4) Desenvol vendo uma aplicao de lista de contatos

Agora vamos fazer uma nova aplicao em Android que consiste em uma
aplicao de lista de contatos. Para essa aplicao iremos utilizar um
componente chamado ListView , que seja bastante til para esse tipo de
situao (quando queremos exibir itens). Toda vez que clicarmos (ou melhor
tocarmos) em um contato na lista, ser exibida uma mensagem com o nome
do contato selecionado.


Vamos criar agora um novo projeto no Eclipse para Android, conforme os
dados abaixo:


Application Name: ListaDeContatos

Project Name: ListaDeContatos

Package Name : com.example.listadecontatos

Build SDK : Android 2.2 (API 8)

Minimum Required SDK : API 8: Android 2.2 (Froyo)

63

Activity Name: ListaContatosActivity

Layout Name : activity_lista_contatos

Title : Lista de Contatos


Vamos trocar a estrutura de layout padro para o LinearLayout, e no
componente TextView, dentro da sua propriedade Text digite a seguinte frase
: Escolha um contato.


Em seguida vamos adicionar o componente ListView (que se encontra na
seo Composite). Seguindo o que foi se pedido, a tela da aplicao ficar de
acordo com a seguinte figura:


Layout da tela da aplicao em desenvol vi mento

Agora vamos criar um objeto (String Array) que vai armazenar os contatos que
sero exibidos no componente, que iremos chamado de contatos (criar no
arquivo strings.xml). Os contatos que estaro nessa lista so :
"Aline","Lucas","Rafael","Gabriela" e "Silvana".

Depois de criar os contatos, selecione o objeto ListView que voc adicionou e
altere as seguintes propriedades.

ListView

Propriedade Valor
Id lista_contatos
Entries @array/contatos

64

Depois de feitas as alteraes, a cara da aplicao deve estar de acordo com
a figura seguinte:


Layout da tela da aplicao


Agora vamos no arquivo ListaContatosActivity.java para colocar o seguinte
cdigo abaixo (lembre-se antes de salvar o arquivo
activity_lista_contatos.xml):


package com. exampl e. l i st adecont at os;


import andr oi d. os. Bundl e;
import andr oi d. wi dget . *;
import andr oi d. vi ew. *;
import andr oi d. app. *;


public class Li st aCont at osAct i vi t y extends Act i vi t y {

Li st Vi ew l i st a_cont at os;
@Over r i de
public void onCr eat e( Bundl e savedI nst anceSt at e) {
super. onCr eat e( savedI nst anceSt at e) ;

set Cont ent Vi ew( R. l ayout . activity_lista_contatos) ;

l i st a_cont at os = ( Li st Vi ew) f i ndVi ewByI d
( R. i d. lista_contatos) ;

l i st a_cont at os. set OnI t emCl i ckLi st ener ( new
Adapt er Vi ew. OnI t emCl i ckLi st ener ( ) {



65
@Over r i de
public void onI t emCl i ck( Adapt er Vi ew<?> par ent ,
Vi ew vi ew, int posi t i on, long i d) {

St r i ng nome = ( ( Text Vi ew) vi ew) . get Text ( )
. t oSt r i ng( ) ;



Al er t Di al og. Bui l der di al ogo = new
Al er t Di al og. Bui l der ( Li st aCont at osAct i vi t y. this)
di al ogo. set Ti t l e( " Cont at o" ) ;
di al ogo. set Message( " Cont at o sel eci onado: " +
nome) ;
di al ogo. set Neut r al But t on( " OK" , null) ;
di al ogo. show( ) ;
}
}) ;
}


}


Como havia falado (e tambm como vocs podem conferir no cdigo acima),
quando se clica em um item, o sistema mostra uma mensagem do item
selecionado (no caso, o nome contato selecionado). Isso conseguido fazendo
uso da interface OnItemClickListener, como mostra a instruo abaixo:


l i st a_cont at os. set OnI t emCl i ckLi st ener ( new
Adapt er Vi ew. OnI t emCl i ckLi st ener ( ) {

@Over r i de
public void onI t emCl i ck( Adapt er Vi ew<?> par ent ,
Vi ew vi ew, int posi t i on, long i d) {

St r i ng nome = ( ( Text Vi ew) vi ew) . get Text ( )
. t oSt r i ng( ) ;



Al er t Di al og. Bui l der di al ogo = new
Al er t Di al og. Bui l der ( Li st aCont at osAct i vi t y. this)
di al ogo. set Ti t l e( " Cont at o" ) ;
di al ogo. set Message( " Cont at o sel eci onado: " + nome) ;
di al ogo. set Neut r al But t on( " OK" , null) ;
di al ogo. show( ) ;
}
}) ;

Vamos analisar alguns trechos do cdigo. A linha de comando:

St r i ng nome = ( ( Text Vi ew) vi ew) . get Text ( ) . t oSt r i ng( ) ;


66
Guarda na varivel nome o contedo retornado pelo objeto view (que
contm o contato selecionado). Como o contedo precisa ser retornado para a
varivel que do tipo String, foi preciso converte-lo em TextView para que o
contedo fosse retornado em uma String (atravs do mtodo toString situado
em getText).

Vamos executar a aplicao. O resultado voc v na figura abaixo:


Aplicao de lista de contatos em execuo

5.6) Desenvol vendo uma aplicao que visualiza imagens

Agora vamos desenvolver uma aplicao bsica que visualiza imagens atravs
do uso o componente ImageView. Vamos criar um projeto com os seguintes
dados abaixo:


Application Name: VisualizadorDeImagens

Project Name: VisualizadorDeImagens

Package Name : com.example.visualizadordeimagens

Build SDK : Android 2.2 (API 8)

67

Minimum Required SDK : API 8: Android 2.2 (Froyo)

Activity Name: VisualizadorImagensActivity

Layout Name : activity_visualizador_imagens

Title : Visualizador de Imagens

Depois de criado o projeto vamos trocar a estrutura de layout para o
LinearLayout em seguida apague o componente TextView da tela.


Antes de iniciarmos a codificao do programa, quero que voc coloque duas
imagens J PEG (com a extenso .jpg), dentro da pasta res/drawable-mdpi
(para esse projeto usei duas imagens chamadas foto1.jpg e foto2.jpg).

Irei mostrar aqui duas formas de se realizar essa tarefa. Comearei pela
primeira forma, que considero a mais tradicional de todas.

Para importar um arquivo, clique com o boto direito do mouse sobre a pasta
res/drawable-mdpi e selecione Import, depois selecione File System (Que
se encontra dentro da pasta General, conforme mostra a figura abaixo) e em
seguida clique em Next.


Selecionando a opo File System


68
Aps clicar em Next ser exibida a caixa de dilogo como demonstra a figura
abaixo:



Caixa de dilogo File System

Clique no boto Browse... para selecionar o diretrio onde se encontram as
imagens. Feito isso, marque os dois arquivos (imagens) para que eles sejam
importados para a pasta res/drawable-mdpi . Veja a figura abaixo:


69

Importando as imagens para o projeto

Depois disso, s clicar em Finish para importar as imagens para o projeto.


A segunda forma, que diria que a mais fcil de todas, voc ir at o diretrio
onde se encontram as imagens , para que voc em seguida possa selecion-
las, e logo aps copi-las (o famoso Ctrl+C). Feito isso v at o projeto que
criamos para selecionarmos o diretrio drawable-mpdi para colarmos as
imagens dentro da pasta (simples no ?).



Vamos adicionar dentro da tela da nossa aplicao uma estrutura
LinearLayout (Horizontal), que se encontra na guia Layouts, simplesmente
arrastando o componente para a tela da aplicao. O resultado voc confere na
figura abaixo:



70

Estrutura LinearLayout inserida


Agora dentro da estrutura LinearLayout que adicionamos acima, vamos inserir
o componente ImageView (que se encontra na guia Images & Media).
Quando colocamos o componente no local desejado da tela, exibido a
seguinte caixa de dilogo:



Caixa de dilogo Resource Chooser


Nesta caixa de dilogo escolhemos a imagem que o nosso componente vai
assumir inicialmente. Iremos escolher a imagem chamada foto1 (conforme
demonstrado acima). Depois de escolher a imagem clique em OK. Veja o
resultado em seguida:

71


Resultado da operao

Agora vamos alterar a propriedade do componente ImageView conforme
abaixo:

ImageView

Propriedade Valor
Id imgfoto

Agora vamos adicionar um componente TextView que ficar ao lado da
imagem. Altere suas propriedades conforme a tabela abaixo:

TextView

Propriedade Valor
Id txtinformacao
Text Foto 1

Seguindo os passos acima, o resultado do layout deve ficar de acordo com a
figura abaixo:


72

Layout da aplicao

Agora vamos adicionar na sequncia dois componentes do tipo Button, s que
esses dois componentes vo estar dentro da tela da aplicao e fora (e
tambm abaixo) da estrutura de layout que adicionamos. Segue abaixo as
propriedades que precisam ser modificadas:

Button

Propriedade Valor
Id btfoto1
Text Exibir foto 1
Width fill_parent


Button

Propriedade Valor
Id Btfoto2
Text Exibir foto 2
Width fill_parent

Depois de seguir todos os passos descritos acima, a aplicao tem que estar
de acordo com a figura abaixo:


73

Layout da aplicao


Agora vamos no arquivo VisualizadorImagensActivity.java para colocarmos o
cdigo em seguida (lembre-se de salvar o arquivo
activity_visualizador_imagens.xml antes de escrever o cdigo):


package com. exampl e. vi sual i zador dei mages;

import andr oi d. os. Bundl e;
import andr oi d. app. Act i vi t y;
import andr oi d. wi dget . *;
import andr oi d. vi ew. *;


public class Vi sual i zador I magensAct i vi t y extends Act i vi t y {

I mageVi ew i mgf ot o;

But t on bt f ot o1, bt f ot o2;

Text Vi ew t xt i nf or macao;

@Over r i de
public void onCr eat e( Bundl e savedI nst anceSt at e) {
super. onCr eat e( savedI nst anceSt at e) ;

set Cont ent Vi ew
( R. l ayout . activity_visualizador_imagens) ;

i mgf ot o = ( I mageVi ew) f i ndVi ewByI d( R. i d. imgfoto) ;

bt f ot o1 = ( But t on) f i ndVi ewByI d( R. i d. btfoto1) ;
bt f ot o2 = ( But t on) f i ndVi ewByI d( R. i d. btfoto2) ;

t xt i nf or macao = ( Text Vi ew) f i ndVi ewByI d
( R. i d. txtinformacao) ;

bt f ot o1. set OnCl i ckLi st ener ( new Vi ew.
OnCl i ckLi st ener ( ) {

74

@Over r i de
public void onCl i ck( Vi ew ar g0) {

i mgf ot o. set I mageResour ce
( R. dr awabl e. foto1) ;

t xt i nf or macao. set Text ( " Fot o 1" ) ;

}
}) ;

bt f ot o2. set OnCl i ckLi st ener ( new Vi ew. OnCl i ckLi st ener ( )
{

@Over r i de
public void onCl i ck( Vi ew ar g0) {

i mgf ot o. set I mageResour ce
( R. dr awabl e. foto2) ;
t xt i nf or macao. set Text ( " Fot o 2" ) ;

}
}) ;

}


}


Agora vamos analisar alguns trechos de cdigos. Vamos no evento Click
referente a abertura da primeira imagem. O cdigo:

i mgf ot o. set I mageResour ce( R. dr awabl e. foto1) ;

responsvel por abrir a imagem foto1.jpg e exibi-la no componente.
Observe que foi passado o parmetro R.drawable.foto1 onde drawable
corresponde a pasta e foto1 corresponde ao arquivo foto1.jpg. Logo aps
vem o cdigo:


t xt i nf or macao. set Text ( " Fot o 1" ) ;

Cuja finalidade mudar o ttulo da TextView , de acordo com a String passada
como parmetro.

O comentrio acima o mesmo para o segundo boto referente abertura da
segunda imagem.

Vamos executar a nossa aplicao. O resultado voc v nas imagens abaixo:


75

Aplicao de visualizao de imagens em execuo



76

Capitulo 4 Trabalhando com
mais de uma tela em uma
aplicao


t agora as aplicaes que desenvolvemos tinham somente uma nica
tela, mas, sabemos que algumas aplicaes possuem normalmente
mais de uma tela. A partir de agora iremos aprender como inserir e
gerenciar vrias telas em uma aplicao Android atravs dos exemplos que
sero demonstrados nesse captulo.


Para comearmos, vamos criar um novo projeto Android com os seguintes
dados abaixo:


Application Name: TrocaDeTelas

Project Name: TrocaDeTelas

Package Name : com.example.trocadetelas

Build SDK : Android 2.2 (API 8)

Minimum Required SDK : API 8: Android 2.2 (Froyo)

Activity Name: TrocaTelasActivity

Layout Name : activity_tela_principal

Title : Troca de Telas


Altere a estrutura de layout da sua aplicao para o LinearLayout e em
seguida altere o componente TextView de acordo com a tabela abaixo.

TextView

Propriedade Valor
Padding (Deixar em branco)
Text Voc est na tela
principal
A

77

Agora adicione um componente Button e modifique as seguintes propriedades:


Button

Propriedade Valor
Id bttela2
Layout width fill_parent
Text Ir pata tela 2


Seguindo os passos acima, a aplicao deve estar de acordo com a figura
abaixo:


Layout da tela 1

Nossa primeira tela est pronta, muito bem! Agora vamos criar uma nova tela
para a nossa aplicao. O nome do arquivo que vai representar a segunda tela
da nossa aplicao vai se chamar tela2.xml (um arquivo XML). Conforme j
foi explicado (e explico novamente aqui), todos os arquivos que representam a
tela da aplicao devem estar dentro do diretrio layout (situado dentro da
pasta res do projeto), logo, vamos criar o nosso arquivo dentro desse
diretrio.

Para criarmos um novo arquivo XML dentro do diretrio layout basta clicar
com o boto direito sobre a pasta e em seguida clicar em New e logo aps
Other, confira na figura seguinte:


78

Criando um arquivo XML

Feito isso ser aberto uma tela com vrias pastas, voc ir expandir a pasta
Android e em seguida vai selecionar a opo Android Layout XML File,
conforme mostra a figura seguinte:



Android XML Layout File

Aps selecionar a opo acima clique em Next que em seguida ser aberta a
tela seguinte:


79

New Android XML Layout File


Por padro a estrutura de layout padro selecionada LinearLayout (que ser
a estrutura que iremos usar). Agora no campo File digite tela2 e em seguida
clique em Finish para que o arquivo seja gerado. Veja o resultado na figura
seguinte:




80

Tela de layout em branco

Por padro quando criamos a tela da aplicao utilizando o LinearLayout, ele
cria com a orientao vertical (essa que vamos utilizar, portanto, no
vamos mexer na estrutura).

Agora vamos adicionar os seguintes componentes, na sequncia:


TextView

Propriedade Valor
Text Voc est na tela 2



Button

Propriedade Valor
Id bttelaprincipal
Width fill_parent
Text Ir pata tela principal

Seguindo os passos acima, o layout do arquivo tela2.xml deve estar de
acordo com a figura abaixo:


81

Layout da tela 2

Agora vamos no arquivo TrocaTelasActivity.java para digitarmos o cdigo
abaixo:

package com. exampl e. t r ocadet el as;

import andr oi d. os. Bundl e;
import andr oi d. app. Act i vi t y;
import andr oi d. wi dget . *;
import andr oi d. vi ew. *;

public class Tr ocaTel asAct i vi t y extends Act i vi t y {

But t on bt t el apr i nci pal , bt t el a2;

@Over r i de
public void onCr eat e( Bundl e savedI nst anceSt at e) {
super. onCr eat e( savedI nst anceSt at e) ;
Car r egar Tel aPr i nci pal ( ) ;
}
public void Car r egar Tel aPr i nci pal ( )
{
set Cont ent Vi ew( R. l ayout . tela_principal) ;
bt t el a2 = ( But t on) f i ndVi ewByI d( R. i d. bttela2) ;
bt t el a2. set OnCl i ckLi st ener ( new
Vi ew. OnCl i ckLi st ener ( ) {

@Over r i de
public void onCl i ck( Vi ew v) {

Car r egar Tel a2( ) ;

}
}) ;
}

public void Car r egar Tel a2( )
{

82
set Cont ent Vi ew( R. l ayout . tela2) ;
bt t el apr i nci pal = ( But t on) f i ndVi ewByI d
( R. i d. bttelaprincipal) ;
bt t el apr i nci pal . set OnCl i ckLi st ener ( new
Vi ew. OnCl i ckLi st ener ( ) {

@Over r i de
public void onCl i ck( Vi ew v) {

Car r egar Tel aPr i nci pal ( ) ;

}
}) ;
}
}


Observem que nesta classe eu criei dois mtodos : CarregaTelaPrincipal e
CarregaTela2. Para toda aplicao que utilize mais de um layout (tela), o
carregamento dos layouts e de seus respectivos widgets devem estar
separados em funes desenvolvidas para esse propsito. Logo, o mtodo
CarregaTelaPrincipal carrega o layout principal e seus respectivos
componentes, o mesmo vlido para o mtodo CarregaTela2, que carrega o
layout da tela 2 e seus respectivos componentes. Feito isso, execute a
aplicao. Veja o resultado abaixo:


Aplicao em execuo (na tela principal)




83

Aplicao em execuo (na segunda tela)

84

Capitulo 5 Propriedades e
eventos dos componentes
trabalhados


este capitulo eu irei mostrar e descrever as propriedades e eventos de
todos os componentes que trabalhamos neste material.


Widget TextView

- Propriedades

Propriedade Em XML Em Java

Text


andr oi d: t ext

set Text ( Char Sequence c)
Nessa propriedade, voc define o texto a ser exibido na tela.


Propriedade Em XML Em Java

Text Col or


andr oi d: t ext Col or

set Text Col or ( Col or c)
Nessa propriedade, voc define a cor de texto.


Propriedade Em XML Em Java

Backgr ound

andr oi d: backgr ound

set BackGr oundCol or ( Col or c)

Nessa propriedade , voc define o cor de fundo do componente exibido.
Valor: #000000 at #FFFFFF.


Propriedade Em XML Em Java




Text Si ze




andr oi d: t ext Si ze


set Text Si ze( f l oat
t amanho) ou


set Text Si ze( i nt
uni dade, i nt
t amanho)
N

85
Define o tamanho do texto. O tamanho da fonte pode ser especificado em vrias
notaes : px (pixels),sp(scaled-pixels) , mm(milmetros), in (polegadas) e etc.

Propriedade Em XML Em Java

Typef ace

andr oi d: t ypef ace

set Typef ace( Typef ace
f ont e)
Essa propriedade serve para definir uma fonte ao texto (normal,sans,serif,monospace).

- Eventos

Mtodo que define o
evento
Evento Mtodos relacionados ao
evento

set OnCl i ckLi st ener


OnCl i ckLi st ener

onCl i ck( Vi ew v)
Esse evento disparado toda vez que o componente for clicado, disparando o mtodo
onClick.

Widget EditText

- Propriedades

Propriedade Em XML Em Java

Text

andr oi d: t ext

set Text ( Char Sequence c)
Nessa propriedade, voc define o texto a ser exibido na tela.

Propriedade Em XML Em Java

Text Col or

andr oi d: t ext Col or

set Text Col or ( Col or c)

Nessa propriedade, voc define a cor do texto.

Propriedade Em XML Em Java



Backgr ound



andr oi d: backgr ound



set BackGr oundCol or ( Col or
c)

Nessa propriedade , voc define o cor de fundo do componente exibido.
Valor: #000000 at #FFFFFF.


Propriedade Em XML Em Java

Capi t al i ze

andr oi d: capi t al i ze


Essa propriedade serve para definir o tipo capitalizao das palavras. Por padro, o valor e
none(nenhum). Os possveis valores para essa propriedade so : words,sentences e
characters


86
Propriedade Em XML Em Java

Passwor d

andr oi d: passwor d

Com essa propriedade voc habilita a digitao de senhas. O valor padro desse
atributo false.


Propriedade Em XML Em Java




Text Si ze




andr oi d: t ext Si ze


set Text Si ze( f l oat
t amanho) ou


set Text Si ze( i nt
uni dade, i nt t amanho)
Define o tamanho do texto. O tamanho da fonte pode ser especificado em vrias
notaes : px (pixels),sp(scaled-pixels) , mm(milmetros), in (polegadas) e etc.


Propriedade Em XML Em Java

Typef ace


andr oi d: t ypef ace

set Typef ace( Typef ace f ont e)
Essa propriedade serve para definir uma fonte ao texto. Os possveis valores so :
normal,monospace,sans e serif.


Propriedade Em XML Em Java

Hi nt

andr oi d: hi nt

set Hi nt ( Char Sequence c)
define uma mensagem que aparecer quando a EditText estiver vazia.


- Eventos

Mtodo que define
o evento
Evento Mtodos relacionados ao
evento

set OnCl i ckLi st ener

OnCl i ckLi st ener

onCl i ck( Vi ew v)

Esse evento disparado toda vez que o componente for clicado, disparando o mtodo
onClick.

Mtodo que define
o evento
Evento Mtodos relacionados ao
evento


set OnKeyLi st ener


OnKeyLi st ener


onKey( Vi ew v, i nt KeyCode,
KeyEvent event )
Esse evento disparado toda vez que a tecla acionada, disparando o mtodo
onKey.


87
Mtodo que define o
evento
Evento Mtodos
relacionados ao
evento


set OnFocusChangeLi st ener


OnFocusChangeLi st ener

onFocusChange( Vi ew
v, bool ean
hasFocus)
Esse mtodo disparado toda vez quando um componente EditText ganha ou perde
foco.


Widget Button

- Propriedades


Propriedade Em XML Em Java

Text

andr oi d: t ext

set Text ( Char Sequence c)
Nessa propriedade, voc define o texto a ser exibido na tela.


Propriedade Em XML Em Java

Text Col or


andr oi d: t ext Col or

set Text Col or ( Col or c)
Nessa propriedade, voc define a cor do texto.


Propriedade Em XML Em Java




Text si ze




andr oi d: t ext Si ze


set Text Si ze( f l oat t amanho)
ou


set Text Si ze( i nt uni dade,
i nt t amanho)
Define o tamanho do texto. O tamanho da fonte pode ser especificado em vrias
notaes : px (pixels),sp(scaled-pixels) , mm(milmetros), in (polegadas) e etc.


Propriedade Em XML Em Java

Typef ace

andr oi d: t ypef ace

set Typef ace( Typef ace f ont e)

Essa propriedade serve para definir uma fonte ao texto. Os possveis valores so :
normal,monospace,sans e serif.





88

- Eventos

Mtodo que define o evento Evento Mtodos
relacionados ao
evento

set OnCl i ckLi st ener

OnCl i ckLi st ener

onCl i ck( Vi ew v)

Esse evento disparado toda vez que o componente for clicado, disparando o mtodo
onClick.

Mtodo que define o evento Evento Mtodos relacionados
ao evento


set OnKeyLi st ener


OnKeyLi st ener


onKey( Vi ew v, i nt
KeyCode, KeyEvent
event )
Esse evento disparado toda vez que a tecla acionada, disparando o mtodo onKey.


Widget CheckBox/RadioButton

- Propriedades

Propriedade Em XML Em Java

Text

andr oi d: t ext

set Text ( Char Sequence
c)
Nessa propriedade, voc define o texto a ser exibido na tela.


Propriedade Em XML Em Java

Text col or

andr oi d: t ext Col or

set Text Col or ( Col or
c)

Nessa propriedade, voc define a cor do texto.

Propriedade Em XML Em Java

Checked

andr oi d: checked

set Checked( bool ean
est ado)
Nessa propriedade voc define o estado do CheckBox, se estar marcado (true) ou no
(false).

- Eventos

Mtodo que define o
evento
Evento Mtodos
relacionados ao
evento

89


set OnCl i ckLi st ener


OnCl i ckLi st ener


onCl i ck( Vi ew v)

Esse evento disparado toda vez que o componente for clicado, disparando o mtodo
onClick.

Mtodo que define o evento Evento Mtodos
relacionados ao
evento


set OnCheckedChangeLi st ener


OnCheckedChange
Li st ener
onCheckedChanged
( CompoundBut t on
cb, bool ean b)
Esse evento ser disparado toda vez que o estado do CheckBox for modificado, ou seja,
marcado ou desmarcado, disparando o mtodo onCheckedChanged.


Widget ListView

- Propriedades

Mtodo Descrio



set Adapt er ( Spi nner Adapt er a)

Nesse mtodo voc define
os elementos que iro
compor esse componente
atravs de um vetor
(array).





i nt get Sel ect edPosi t i on( )
Essa funo retorna a
posio do elemento
selecionado. Por exemplo,
se for o primeiro elemento,
retorna 0, se for o
segundo, retorna 1 e assim
sucessivamente.


Obj ect get Sel ect edI t em( )

Essa funo retorna em
um tipo Object, o item
selecionado.


Obj ect get I t emAt Posi t i on( i nt posi cao)

Retorna em um tipo Object
o elemento de uma
determinada posio,
passada como parmetro.

- Eventos

Mtodo que define o
evento
Evento Mtodos
relacionados ao
evento


set OnCl i ckLi st ener


OnCl i ckLi st ener


onCl i ck( Vi ew v)

Esse evento disparado toda vez que o componente for clicado, disparando o mtodo
onClick.

90

Mtodo que define o evento Evento Mtodos
relacionados
ao evento



set OnI t emCl i ckLi st ener



OnI t emCl i ckLi st ener


onI t emCl i ck
( Adapt er Vi ew<?>
a, Vi ew v, i nt
I , l ong l )

Esse evento ser disparado toda vez que um derminado item for clicado, disparando o
mtodo onItemClick.

Mtodo que define o
evento
Evento Mtodos relacionados ao
evento



set OnI t emSel ect edLi st
ener



OnI t emSel ect edLi st
ener

onI t emSel ect ed( Adapt er Vi
ew av, Vi ew v, i nt
posi o, l ong i d)

onNot hi ngSel ect ed( Adapt e
r Vi ew av)
Esse evento ser disparado toda vez que um derminado item for selecionado, disparando o
mtodo onItemSelected. Caso nenhum item seja selecionado, ser disparado o mtodo
onNothingSelected.

Widget ImageView

- Propriedades

Propriedade Em XML Em Java

Sr c

andr oi d: sr c

set I mageResour ce( i nt I d)
Nessa propriedade, voc define a imagem que ser exibida na tela.

Mtodo Descrio



set I mageURI ( Ur i l i nk)
Esse mtodo similar ao
mtodo acima, sendo que
aqui voc especifica o Uri
(como se fosse um link de
internet) como caminho de
localizao da imagem.

- Eventos

Mtodo que define o
evento
Evento Mtodos
relacionados ao
evento


set OnCl i ckLi st ener


OnCl i ckLi st ener


onCl i ck( Vi ew v)
Esse evento disparado toda vez que o componente for clicado, disparando o mtodo
onClick.

91

Concluso a respeito do
material



Nesta apostila vimos de forma bem bsica e introdutria como desenvolver
aplicaes para Android para algumas situaes. Comeamos vendo um pouco
sobre a plataforma Android, como ela surgiu e tudo mais. Aprendemos a
instalar o Eclipse e os plugins necessrios para o funcionamento do Android,
incluindo o SDK, e em seguida aprendemos a construir algumas pequenas
aplicaes para Android, como uma calculadora bsica, um aplicativo de
compras, um aplicativo de clculo de salrio e etc.

Se voc quiser uma abordagem mais completa de como desenvolver
aplicaes para Android, adquira a Apostila de Android Programando Passo
a Passo Completa, efetuando o pagamento do seu valor atravs do
PagSeguro. Visite o site www.apostilaandroid.net para mais informaes
respeito da Apostila de Android completa.



Espero que esse material lhe tenha sido til.




Abraos

Você também pode gostar