Escolar Documentos
Profissional Documentos
Cultura Documentos
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 64600000 – Picos – PI – Brasil
vane-moura[arroba]hotmail.com, aislanmaster[arroba]gmail.com,
otiliopaulo[arroba]yahoo.com.br
Keyword: Android, Mobile devices.
Palavraschave: 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 tratase de uma pilha de componentes de software, desenvolvida para
dispositivos móveis, que inclui sistema operacional, bibliotecas, frameworks de
middleware e aplicacõeschave.
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]
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]
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
4.3. Exemplo de desenvolvimento de um aplicativo básico “Olá Mundo!”
Figura 6: Linha de código acrescentada ao arquivo ~/.bashrc [Aless08]
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/>