Вы находитесь на странице: 1из 8

Introdução a Plataforma Android 

Vanessa de Moura Santos1, Aislan Rafael Rodrigues de Sousa1, Otílio Paulo da 
Silva Neto1.

1 ­ Instituto Federal de Educação, Ciência e Tecnologia do Piauí Campus Picos – (IFPI 
Campus picos) 
CEP 64600­000 – Picos – PI – Brasil
vane-moura[arroba]hotmail.com, aislanmaster[arroba]gmail.com,
otiliopaulo[arroba]yahoo.com.br

Abstract.   This   article   provides   an   introductory   description   of   the   Android  


platform.   It   is   an   initiative   to   enable   mobile   devices   and   even   different  
hardware, can run on the same platforms that enable access and effective use  
of resources on the web

Key­word: Android, Mobile devices.

Resumo.  O   presente   artigo   apresenta   uma   descrição   introdutória   da  


plataforma Android. É uma iniciativa para permitir que dispositivos móveis  
mesmo tendo hardware diferente, possam rodar em uma mesma plataformas  
que possibilitara o acesso e uso efetivo dos recursos presentes na web.

Palavras­chave: Android, dispositivos móveis.

1. Introdução 
A OHA (Open Handset Alliance  ou Aliança para o celular aberto) foi criada com a 
intenção   de   padronizar   uma   plataforma   de   código   aberto   e   livre   para   celulares, 
justamente   para   atender   a   todas   as   expectativas   e   tendências   do   mercado  [Lech09]. 
Quase metade da população mundial possui um aparelho celular e buscam nele não 
apenas realizar ligações, mas diversos recursos como câmera, gravador de voz e vídeo, 
jogos, acesso a internet entre outras funcionalidades. Alem dos usuários comuns, as 
empresas   que   buscam   agilidade,   obviamente   visando   o   lucro,   estão   utilizando 
aplicativos móveis nas suas funções diárias.
O Android, resultado da união de 47 empresas de tecnologia e mobilidade sobre 
a   liderança   da   Google   oferece   um   conjunto   completo   de  software:   um   sistema 
operacional, middleware (que intermedeia a comunicação entre diferentes aplicativos e 
distintos  protocolos)  e  vários  aplicativos   que  visam  satisfazer  aos  usuários  com  um 
navegador   para   internet,   integração   com   o   Google  Maps,   GPS,   banco   de   dados 
integrado,   entre   outros,   aos   fabricantes,   pois   sendo   o   Android   uma   plataforma 
consolidada,   livre   e   de   código   aberto   diminui   os   custos   no   desenvolvimento   de 
aparelhos,   e   aos   desenvolvedores   que   tem   a   disposição   uma   plataforma   de 
desenvolvimento  robusta   que  utiliza   Java   como   linguagem,   e   oferece  um  SDK   com 
emulador para teste.  

2. A plataforma Android

2.1. Histórico 
Em   Novembro   de   2007   o   Google   anunciou   que   estava   à   frente   da   OHA, 
disponibilizando o SDK (Software Development Kit) dias depois. Em Outubro de 2008 
foi colocado a venda o primeiro aparelho com o Android 1.0 chamado G1 da HTC T­
Mobile.

2.2. Conceito
O  Android   trata­se   de   uma   pilha   de   componentes   de  software,   desenvolvida   para 
dispositivos   móveis,   que   inclui   sistema   operacional,   bibliotecas,  frameworks  de 
middleware e aplicacões­chave. 

2.3. Características básicas
A plataforma Android usa como base kernel do Linux 2.6, sendo que varias alterações 
foram realizadas para que o sistema ficasse mais bem adaptado os dispositivos portáteis, 
ele é responsável pelas tarefas fundamentais do sistema como segurança, gerenciamento 
de memória e outras.
Possui,  Application   Framewok  que   permite   o   reuso   e   a   substituição   de 
componentes, a maquina virtual Dalvik, que roda software escrito na linguagem Java e 
compilado   num   formato   especial   de  bytecodes,   um   navegador   baseado   no  Webkit  
Engine,   também   usado   pelo   Safári,   ambiente   gráfico   e   gerenciador   de   pacotes, 
biblioteca 2D e 3D, o banco SQLite para armazenar os dados estruturados, suporte para 
mídias: áudio, vídeo, formatos de imagens (MPEG4, H.264, MP3, AAC, AMR,JPG, 
PNG e GIF), telefonia GSM, bluetooth, EDGE, 3G e WiFi, câmera, GPS, compasso e 
acelerômetro

3. Arquitetura
A arquitetura do Android é dividida em cinco partes: kernel Linux, bibliotecas, ambiente 
de execução, framework e aplicativo [Aless08].
3.1. Kernel Linux 

Figura 1: Camada do Kernel Linux [Joao08]

A camada do Linux  Kernel  representada na (Figura 1), que dependente de uma parte 


física, usa como base kernel do Linux 2.6. Ele é responsável pelas tarefas fundamentais 
do sistema, como segurança, gerenciamento de memória, gerenciamento de processos, 
pilha de protocolos de rede e modelo de drivers, agindo também como uma camada de 
abstração  entre   o  hardware  e  os   outros   componentes  da  plataforma,   que  rodam   em 
espaço de usuário. Varias alterações foram realizadas no Linux para que o sistema fosse 
customizado   para   as   características   dos   dispositivos   portáteis,   elas   incluem  divece  
drivers  novos,   adições   ao   sistema   de   gerenciamento   de   energia   (wake   locks)   e   um 
sistema que permite finalizar processos de maneira criteriosa quando há pouca memória 
disponível (lowmem killer).

3.2. Bibliotecas

Figura 2: Camada de biblioteca [Joao08]

A camada de biblioteca carrega consigo um conjunto de bibliotecas C/C++  utilizadas 
pelo   sistema.   Estão   incluídas   nesse   conjunto   a   biblioteca   C   padrão   (Libc)  do   BSD 
adaptada para dispositivos rodando Linux, as bibliotecas suportam os mais populares 
formatos de áudio e vídeo, bem como imagens estáticas, visualização de camadas 2D e 
3D, funções para navegadores web, funções para gráficos, funções de aceleração de 
hardware, renderização 3D, fontes bitmap e vetorizadas e funções de acesso ao banco 
SQLite. Todos esses recursos estão disponíveis no framework para o desenvolvimento de 
aplicativos.
3.3. Ambiente de execução 

Figura 3: Camada de execução [Joao08]

Apesar  de   o   Android   usar   como   linguagem   de   programação   Java,   em   seu   sistema 
operacional não existe uma maquina virtual Java (JVM), mas sim a maquina virtual 
Dalvik que é otimizada para execuções em dispositivos moveis. [Lech09]
Cada   aplicação   do   Android   roda   seu   próprio   processo   em   uma   instancia   da 
maquina virtual  Dalvik  (zigote  é uma instancia especial responsável por criar outras 
instâncias da VM). Essa maquina virtual foi escrita para ser rodada eficientemente com 
múltiplas instancias e executa arquivos .dex, um formato de  bytecode  desenhado para 
ocupar menos espaço e carregar rapidamente, os arquivo .dex e outros recursos como 
imagem são compactados em um único arquivo com a extensão .apk (Android Package  
File) que representa a aplicação final, pronta para ser rodada.

3.4. Framework

Figura 4: Camada dos Frameworks de aplicação [Joao08]

Nesta camada, os desenvolvedores têm acesso ao mesmo framework das APIs utilizadas 
para as aplicações do Android, o que simplifica o reuso de componentes e abstrai boa 
parte dos procedimentos necessários para se fazer uma aplicação funcionar. Uma grande 
vantagem do  framework  de aplicação do Android é que cada aplicação pode publicar 
suas capacidades para serem usadas por outras aplicações que estiverem rodando.
Entre estas APIs, temos as seguintes:
• Location Manager: utiliza o GPS;
• Telephony Manage: oferece serviços de telefonia;
• Content Providers: torna os dados públicos;
Alem   da:  Window   Manager,  Resource   Manager,  Notification   Manager,  Activity  
Manager.

3.5. Aplicativos 

Figura 5: Camada dos aplicativos [Joao08]

É  a  camada   mais   alta   da   arquitetura   da   plataforma   Android,   onde   se   encontram   os 


aplicativos chaves como e­mail, browser, mapas, calendários dentre outros, escritos na 
linguagem Java e convertidos para arquivos .dex, um bytecode da instancia da maquina 
virtual Dalvik, em que rodam.

4. Ambientes de desenvolvimento
Antes mesmo da utilização da plataforma Android em um dispositivo portátil, o Google 
disponibilizou   o   SDK,   composto   pela   API   das   classes   Java   e   pelo   emulador,   um 
dispositivo móvel virtual que permite rodar e testar as aplicações desenvolvidas, com o 
intuito de incentivar o desenvolvimento de aplicativos.
Alem   do   SDK,   os   desenvolvedores   podem   utilizar   como   ambiente   de 
desenvolvimento o  Eclipse,  Netbeans,  IntelliJ  IDEA,ou JDK 5 ou JDK 6,  Apache Ant 
1.6.5 ou superiores para Linux e Mac, 1.7 ou superiores para Windows, sendo o Eclipse 
o ambiente de desenvolvimento preferido pelo Google[Lech09] e há um plugin chamado 
ADT(Android Development Tools) para integrar o emulador ao Eclipse

4.1. Estrutura de uma aplicação Android

A anatomia de uma aplicação Android é dividida em quatro blocos a Activity, que é o 
bloco   mais   utilizado,   cada  Activity  representa   uma   tela   da   aplicação   que   será 
apresentada ao usuário através de View e responderá a eventos por Intent e Intent Filters, 
há também a Intent Receiver utilizado para que a aplicação responda a eventos externos, 
a Service responsável por códigos de vida longa que rodam sem uma interface para o 
usuário e a Content Provider provedor de conteúdo.
4.2. Estados de uma aplicação 

O  sistema operacional do Android é responsável  pelo gerenciamento dos  processos, 


caso seja necessário pode ate finalizar­los buscando liberar memória e recursos e talvez 
ate reiniciar­los quando a situação estiver controlada [Lech09], levando em consideração 
o estado de prioridade da aplicação que pode ser de: 
• Primeiro Plano quando há uma atividade em uso;
• Visível quando esta visível porem há uma outra janela sobre ela;
• Serviço que roda um código de serviço, sem UI;
• Fundo quando possui uma atividade que não esta visível;
• Vazio quando não possui nenhum componente ativo, servindo como cachê para a 
próxima vez que a aplicação for iniciada.

4.3. Exemplo de desenvolvimento de um aplicativo básico “Olá Mundo!”

Para   o   desenvolvimento   de   um   aplicativo   básico   como   um   “Olá   Mundo!”,   deve­se 


inicialmente baixar o SDK, descompacta­lo (formato ZIP) acrescentar a pasta  to­ols/ 
criada no processo à variável  $PATH, acrescentando ao arquivo  ~/.bashrc  a linha de 
código:

 Figura 6: Linha de código acrescentada ao arquivo ~/.bashrc [Aless08]

Continua­se   com   a   instalação   do  plugin  ADT   ao   IDE  Eclipse  e   com   a 


configuração da localização do Android SDK no plugin ADT. Após essa etapa cria­se 
um Android  Project, no  Eclipse, onde se coloca o nome do projeto, da classe  e da 
aplicação, seleciona as opções Create new project in workspace e Use default location, 
clicando no botão Finish, ao final.Implementa­se então as seguintes linhas de código:
Figura 7: Código de criação do aplicativo básico “Olá Mundo!” [Aless08]

Para   executar   o   programa   no   emulador   do   Android,   seleciona­se   a   opção 


Run/Run  do menu principal, na janela de dialogo (Figura 8), selecione o projeto para 
execução e clique nos botões Aplly e Run inicializando assim o emulador que permitira 
a exibição do seu primeiro programa (Figura 9).  

Figura 8: Preparação para execução do novo programa [Aless08]
 

Figura 9: Resultado da execução do programa [Aless08]

5. Conclusão 
Os   usuários  de  dispositivos  portáteis  não   têm  consciência   de  que  seu   aparelho  está 
rodando um sistema operacional, tudo é feito de maneira transparente. O Android vem 
oferecer uma série de recursos para tornar os dispositivos mais funcionais mantendo a 
transparência. Por se tratar de uma plataforma aberta, a comunidade de desenvolvedores 
pode contribuir para a criação de aplicações. No presente artigo foi apresentada uma 
introdução   dessa   nova   plataforma   para   uma   posterior   utilização   na   criação   de 
aplicações.

6. Referências 

[Aless08] Alessandro de Oliveira Faria, Linux Magazine 48 ed., junho de 2008.
[Anj08] Julio Anjos, Comparativo APIs Android x JavaME, Universidade Federal do 
Rio Grande do Sul UFRGS, julhos de 2008
[Code09]  Disponibiliza do SDK <http://code.google.com/android/adc.html>, acessado 
no dia 15 de maio de 2009 
[Fórum] Fórum dos desenvolvedores <http://forum.portalandroid.org/>, acessado no dia 
06 de maio de 2009
[G1And09]   Ulrich   Bantle   e   Rafael   Peregrino   da   Silva,   fevereiro   de   2009 
<http://www.linuxmagazine.com.br/materia/analise_preliminar_do_android_g1_operaca
eo_e_recursos>
[iMast09]  iMasters,   Aplicativos   moveis,   maio   2009  
<http://imasters.uol.com.br/noticia/12644/tecnologia/google_pode_perder_a_marca_and
roid/>

[Joao08]   João   José   Junior,   android­slides, Universidade   Federal   de   Santa   Catarina, 


dezembro de 2008 
[Lech09]  Ricardo   R.Lecheta,   Google   Android     aprenda   a   criar   aplicações   para 
dispositivos móveis com o Android SDK, Novatec Editora Ltda, 2009 
[OHA]  Site oficial do grupo OHA <http://www.openhandsetalliance.com/>, acessado 
no dia 05  de maio de 2009