Escolar Documentos
Profissional Documentos
Cultura Documentos
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 Java, o que facilita
muitos programadores com conhecimentos em Java (ou de outras
linguagens prximas de Java 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 Java ou com uma de suas
derivadas (como C/C++ ou C#).
Capitulo 1
Viso geral sobre o Google Android
1.1) Introduo
Conforme 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.
G1 - T-Mobile
1.2.2) Aplicaes
- 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 Runtime
O Android constitudo por um conjunto de bibliotecas que fornece a maioria das funcionalidades disponveis nas
principais bibliotecas da linguagem Java.
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 Java 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.
Capitulo 2
Instalando e Configurando o Android SDK
no Eclipse
Para a elaborao desse material eu fiz o uso do Eclipse
Juno (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 Java (de
preferncia a verso 6 ou posterior). Bom, mos a obra.
Para saber se voc possui uma Maquina virtual Java entre no prompt de
comando de digite a seguinte linha:
java version
Se mostrar algo parecido como demonstra a figura seguinte:
Feito isso ser carregado a pgina de download, conforme demonstra a figura abaixo:
O Eclipse Juno (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 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
download
Eclipse
de
do
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:
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.
Capitulo 4
Construindo nossas aplicaes no Android
Vamos 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.
Valor
Digite o primeiro 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:
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
Depois disso vamos atribuir um nome (ID) para o componente, que vai se chamar
btsomar. Veja o resultado abaixo:
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 Java (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:
Arquivo CalculadoraActivity.java
Feito isso ser aberto o seu contedo conforme demonstrado na imagem seguinte:
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:
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:
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:
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:
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:
AlertDialog.Builder dialogo = new
AlertDialog.Builder(CalculadoraActivity.this);