Escolar Documentos
Profissional Documentos
Cultura Documentos
Android Juliana Mono PDF
Android Juliana Mono PDF
DEPARTAMENTO DE INFORMTICA - DI
PROGRAMA DE PS GRADUAO EM INFORMTICA
INF2541 INTRODUO COMPUTAO MVEL
PROF. MARKUS ENDLER
MONOGRAFIA:
PLATAFORMAS DE DESENVOLVIMENTO PARA DISPOSITIVOS
MVEIS
NDICE
1
2
INTRODUO ............................................................................................................. 3
ANDROID ................................................................................................................... 3
2.1
HISTRICO ......................................................................................................... 3
2.2
DEFINIO ........................................................................................................ 4
2.3
ARQUITETURA ................................................................................................... 4
2.3.1
KERNEL DO LINUX..................................................................................... 5
2.3.2
BIBLIOTECAS ............................................................................................. 5
2.3.3
ANDROID RUNTIME ................................................................................... 6
2.3.4
FRAMEWORK DE APLICAES................................................................... 7
2.3.5
APLICAES .............................................................................................. 8
2.4
BLOCO DE APLICAES ..................................................................................... 8
2.4.1
ACTIVITY ................................................................................................... 8
2.4.2
INTENT RECEPTOR ..................................................................................... 9
2.4.3
SERVICE .................................................................................................... 9
2.4.4
CONTENT PROVIDER .................................................................................. 9
3
QTOPIA .................................................................................................................... 10
3.1
HISTRICO ....................................................................................................... 10
3.2
ARQUITETURA ................................................................................................. 10
3.2.1
QTOPIA CORE .......................................................................................... 11
3.2.2
QTOPIA PLATFORM .................................................................................. 12
3.2.3
QTOPIA PHONE EDITION .......................................................................... 12
3.3
QTOPIA GREENPHONE ..................................................................................... 12
4
CONSIDERAES FINAIS .......................................................................................... 12
REFERNCIAS .................................................................................................................. 14
2/14
1 INTRODUO
Com o grande avano da tecnologia, os dispositivos mveis esto se tornando mais
poderosos com relao s suas capacidades de armazenamento, de processamento e de
comunicao, e mais acessveis aos consumidores, ao mesmo tempo. Hoje, h 1,5
bilhes de televisores no mundo, enquanto que 1 bilho de pessoas tm acesso
Internet, mas quase 3 bilhes de pessoas possuem um dispositivo mvel, tornando-se
um dos produtos mais promissores do mundo. Dentre esses dispositivos mveis, esto
includos handhelds, PDAs e telefones celulares.
Os dispositivos mveis oferecem conectivade e poder de uso a qualquer lugar e
em qualquer momento, tornando-se importantes, tanto para uso pessoal, quanto
profissional.
Com o uso cada vez maior de dispositivos mveis, o nmero de plataformas e
ambientes de desenvolvimento cresceu proporcionalmente.
A escolha de uma plataforma ideal para o desenvolvimento de um projeto
significa optar por uma soluo que fornea os melhores benefcios, em termos de
custos, eficincia e tempo de desenvolvimento esperados para a finalizao do projeto.
Sendo assim, a presente monografia tem como objetivo fazer uma explanao
sobre duas plataformas de desenvolvimento de aplicaes para dispositivos mveis: o
Android (ver seo 2), lanado pela Open Handset Alliance [1], e o Qtopia (ver seo
3), produto da Trolltech [1].
2 ANDROID
2.1 HISTRICO
Em 05 de novembro de 2007, o OHA (Open Handset Alliance) anunciou a plataforma
Android [3]. O Open Handset Alliance um grupo de mais de 30 empresas que est
desenvolvendo essa plataforma. As empresas dessa aliana esto trabalhando juntas
para oferecer uma plataforma de desenvolvimento que permita aos desenvolvedores
implementarem e extenderem as aplicaes dos seus dispositivos mveis. Essa aliana
tem como objetivo tambm lanar handsets e servios usando a plataforma Android no
segundo semestre de 2008.
A aliana OHA composta por um grupo bastante heterogneo de empresas, que
compreende desde operadoras de celular a fabricantes de handsets. Dessa aliana, fazem
parte:
Operadoras de celular:
3/14
Companhias de semicondutores:
Fabricantes de handset:
Companhias de software:
2.2 DEFINIO
Android uma pilha de softwares para dispositivos mveis que inclui um sistema
operacional, um middleware e um conjunto de aplicaes chaves. Os desenvolvedores
podem criar aplicaes para a plataforma usando o Android SDK (ver seo Error!
Reference source not found.). As aplicaes para essa plataforma so escritas usando a
linguagem de programao Java e executam sobre o Dalvik, uma mquina virtual
customizada para dispositivos com restries de recursos, como pouca capacidade
computacional, baixa capacidade de armazenamento e baterias com baixo nvel de
energia.
2.3 ARQUITETURA
O diagrama da Figura 1 mostra os principais componentes do sistema operacional
Android.
4/14
2.3.2 BIBLIOTECAS
O Android inclui um novo conjunto de bibliotecas C/C++ usados pelos vrios
componentes do sistema. As funcionalidades so expostas atravs do framework do
Android (ver seo 2.3.4). Algumas das bibliotecas do ncleo da arquitetura so listadas
abaixo:
Uma das primeiras diferenas de Dalvik para a mquina virtual Java (JVM) que
Dalvik baseado em registradores e a JVM baseada em pilhas. A escolha da
abordagem baseada em registradores traz um benefcio em ambientes restritos, como
telefones celulares, e uma anlise mais aprofundada concluiu que mquinas virtuais
baseadas em registradores executam mais rapidamente os programas do que mquinas
baseadas em pilhas.
6/14
7/14
2.3.5 APLICAES
Android fornece um conjunto de aplicaes bsicas, que inclui um cliente de email, um
programa SMS, um calendrio, mapas, navegador, contatos, entre outras.
Activity (Atividade)
Intent Receiver (Receptor de Inteno)
Service (Servio)
Content Provider (Provedor de Contedo)
Nem toda aplicao necessita ter esses quatro blocos, mas uma aplicao Android
dever ser escrita com um ou mais desses blocos de construo. Uma vez decidido quais
componentes so necessrios aplicao, necessrio list-los em um arquivo chamado
AndroidManifest.xml. Este arquivo deve conter os componentes da aplicao, alm das
capacidades e requirimentos para tais.
2.4.1 ACTIVITY
o mais comum dos quatro blocos de contruio Android. Uma activity usualmente
uma tela em uma aplicao Android. Cada activity implementada como uma nica
classe que extende da classe base Activity. Essa classe ir mostrar uma interface de
usurio composta por Views e que responde a eventos.
A maioria das aplicaes consiste em mltiplas telas. Por exemplo, uma aplicao
de mensagem de texto pode ter uma tela que mostra uma lista de contatos, uma segunda
tela para escrever mensagem para um contato e outra tela para rever mensagens antigas
ou mudar configuraes. Cada uma dessas telas deve ser implementada como uma
activity. A mudana de uma tela para outra realizada no incio de uma nova activity.
Em alguns casos, uma activity deve retornar um valor para a activity prvia. Por
exemplo, uma activity, que permite que o usurio escolha uma foto, retornaria a foto
escolhida para o chamador. Quando uma nova tela abre, a tela chamadora pausada e
posta numa pilha. O usurio pode navegar de volta atravs das telas abertas
anteriormente na pilha.
Android usa uma classe especial chamada Intent para realizar a mudana de uma
tela para outra. Uma Intent descreve o que uma aplicao quer fazer. As duas mais
importantes partes da estrutura de dados de uma inteno so a ao e os dados usados
para responder a essa ao. Alguns valores tpicos de uma ao so MAIN (a porta de
entrada de uma atividade), VIEW, PICK e EDIT. Os dados so expressos como uma
URI (Uniform Resource Identifier). Por exemplo, para ver informaes de contato de
uma pessoa, necessrio criar uma inteno com a ao VIEW e o conjunto de dados
para representar a URI de uma pessoa. H tambm uma classe relacionada chamada
IntentFilter. Enquanto uma inteno efetivamente uma requisio para se fazer
alguma coisa, um filtro de inteno uma descrio de que intenes uma atividade (ou
8/14
intent receiver) pode tratar. Uma activity que est apta a exibir informaes de contato
de uma pessoa dever publicar um IntentFilter que diz que ela sabe como tratar a ao
VIEW quando aplicada para representar os dados de uma pessoa. Activities publicam
seus IntentFilters no arquivo AndroidManifest.xml.
A navegao entre telas acompanhada por resoluo de intenes. Por exemplo,
para navegar para frente, uma atividade chama startActivity(myIntent). O sistema ento
busca os filtros de inteno para todas as aplicaes instaladas e escolhe a atividade cuja
inteno casa melhor com esse myIntent. A nova activity informada do interesse, que
causa o carregamento da nova tela. O processo de resolver intenes acontece em tempo
de execuo, quando o mtodo startActivity chamado, oferecendo dois benefcios
chaves:
1. Activities podem reusar funcionalidades de outros componentes simplesmente ao
fazer uma requisio para outro componente na forma de uma inteno.
2. Activities podem ser substitudas a qualquer momento por uma nova activity
atravs de um IntentFilter.
2.4.3 SERVICE
Um servio um cdigo que est executando em background sem uma interface grfica
com o usurio. Um exemplo disso um tocador de msica. No tocador, h uma ou mais
activities que permitem ao usurio escolher msicas e inici-las. Todavia, o tocador no
deveria ser tratado por uma atividade porque o usurio espera que a msica continue
tocando em background. O sistema ento ir manter o servio do tocador de msica
executando at que ele termine.
possvel que uma aplicao se conecte a um servio para poder inici-lo (se ele
no estiver executando) com context.bindservice(). Uma aplicao pode comunicar-se
com um servio atravs de uma interface do servio. Para o servio de msica, ele pode
ser usado para pausar uma msica ou avan-la, por exemplo.
9/14
3 QTOPIA
Qtopia [8] uma plataforma C++ da Trolltech [1] para o desenvolvimento de aplicaes
em dispositivos mveis, como PDAs, telefones celulares e web pads. As aplicaes
construdas com essa plataforma executam sobre sistemas operacionais baseados em
GNU/Linux.
A Qtopia no tem rival, at agora, como plataforma de aplicaes e de interface de
usurio para GNU/Linux, permitindo a criao eficiente de aplicaes para dispositivos
mveis embutidos.
A Qtopia 4 Series a ltima gerao de produtos da famlia Qtopia da Trolltech.
Ela fornece um ambiente robusto e testado para desenvolvimento, herdado do
framework lder em aplicaes, o Qt. A plataforma compreende o Qtopia Core [11], o
Qtopia Platform [12] e o Qtopia Phone Edition [13].
3.1 HISTRICO
A Qtopia herda todas as caractersticas do Qt [4], o framework de aplicaes, lder
da indstria, da Trolltech. O framework Qt C++ usado por diferentes aplicaes
comerciais desde 1995. O Qt usado por companhias e organizaes diversas, como:
Adobe, Boeing, IBM, Motorola, NASA, Skype, entre outras empresas menores.
Desde 2006, h dezenas de diferentes modelos de telefones celulares e outros
dispositivos executando a Qtopia, como dispositivos da Sony, da Motorola, da Philips,
da Panasonic, da IBM, entre outros [9]. Qtopia tambm usado como plataforma de
software do Greenphone (ver seo 3.3), uma iniciativa da Trolltech de um celular
executando sobre um sistema GNU/Linux.
A Qtopia fornece cdigo fonte completo e, com a documentao disponvel, os
desenvolvedores podem, facilmente, modificar o Qtopia e integrar outras tecnologias
para criar distintos dispositivos.
3.2 ARQUITETURA
A arquitetura do Qtopia compreende trs componentes primrios: Qtopia Core, Qtopia
Platform (um subconjunto do Qtopia Core) e Qtopia Phone Edition (contendo as
capacidades do Qtopia Core e do Qtopia Platform). Um diagrama de alto nvel da
arquitetura do Qtopia mostrado na Figura 4.
10/14
11/14
4 CONSIDERAES FINAIS
As plataformas Android e o Qtopia so pilhas de softwares usadas para
desenvolvimento de aplicaes para dispositivos mveis que usam um sistema
operacional baseado em GNU/Linux. O Android uma plataforma recente, onde ainda
no existem dispositivos que utilizem esta plataforma, enquanto que o Qtopia j uma
plataforma consolidada, usada por vrios dispositivos do mercado [9].
A plataforma Android surge como a principal concorrente da Qtopia,
principalmente pela fora das companhias que esto apoiando o desenvolvimento desta
12/14
plataforma, alm da promessa da OHA de que a Android ter cdigo aberto. Porm,
dispositivos que utilizam essa plataforma s sero lanados na segunda metade de 2008.
Ambas as plataformas oferecem suporte s principais caractersticas e requisitos
que uma aplicao para um dispositivo mvel requer: API para telefonia, APIs para
interface com o usurio, entre outras. A vantagem de se escolher a plataforma Android
advm do fato de que pode se fazer uso mais facilmente de todos as aplicaes criadas
pela Google, como aplicaes com uso de mapas. Alm disso, a Android fornece uma
abordagem bastante simples para a modelagem de aplicaes que venham a utilizar essa
plataforma. Porm, o Qtopia j fornece vrias APIs e classes que herdam todas as
caractersticas do framework Qt, amplamente usado por aplicaes de diversas reas.
13/14
REFERNCIAS
1. Open Handset Alliance. http://www.openhandsetalliance.com/. Acessado em 26
de novembro de 2007.
2. Trolltech. http://trolltech.com/. Acessado em 26 de novembro de 2007.
3. Android. http://code.google.com/android/. Acessado em 28 de novembro de
2007.
4. Android Architecture. http://code.google.com/android/what-is-android.html.
Acessado em 29 de novembro de 2007.
5. OsGI. http://www.osgi.org/. Acessado em 30 de novembro de 2007.
6. XMPP. http://www.xmpp.org/. Acessado em 30 de novembro de 2007.
7. Qt Framework. http://trolltech.com/products/qt. Acessado em 28 de novembro
de 2007.
8. Qtopia. http://trolltech.com/products/qtopia. Acessado em 27 de novembro de
2007.
9. Qtopia Products. http://trolltech.com/products/qtopia/qtopiainuse/customers.
Acessado em 28 de novembro de 2007.
10. Greenphone.
http://trolltech.com.br/products/qtopia/greenphone/index.htm.
Acessado em 28 de novembro de 2007.
11. Qtopia Core 4.2 Whitepaper. Trolltech. Novembro, 2006. Disponvel em
http://trolltech.com/pdf/Qtopia-Core-42-Whitepaper-A4-web.pdf. Acessado em
01 de dezembro de 2007.
12. Qtopia Platform 4.2 Whitepaper. Trolltech. Novembro, 2006. Disponvel em
http://trolltech.com/pdf/Qtopia_Phone_Edition_4_ds_web_A4.pdf. Acessado em
01 de dezembro de 2007.
13. Qtopia Phone Edition 4.2 Whitepaper. Trolltech. Novembro, 2006. Disponvel
em http://trolltech.com/pdf/Qtopia_Phone_Edition_4_ds_web_A4.pdf. Acessado
em 01 de dezembro de 2007.
14/14