UNIVERSIDADE ANHEMBI MORUMBI
ANDRÉ COELHO LOPES
MARCOS ANTÔNIO DE OLIVEIRA
RODRIGO OSSAMU HATTORI
THOMAZ CORREIA INOUE
SOFTWARE LOCALIZADOR DE APARELHOS DE CELULARES ANDROID
São Paulo
2011
UNIVERSIDADE ANHEMBI MORUMBI
ANDRÉ COELHO LOPES
MARCOS ANTÔNIO DE OLIVEIRA
RODRIGO OSSAMU HATTORI
THOMAZ CORREIA INOUE
SOFTWARE LOCALIZADOR DE APARELHOS DE CELULARES ANDROID
Trabalho de Conclusão Curso apresentado como
exigência parcial para a obtenção do título de
Bacharel em Ciência da Computação da Universidade
Anhembi Morumbi.
Orientador: Alessandro Biagi Costa
São Paulo
2011
UNIVERSIDADE ANHEMBI MORUMBI
ANDRÉ COELHO LOPES
MARCOS ANTÔNIO DE OLIVEIRA
RODRIGO OSSAMU HATTORI
THOMAZ CORREIA INOUE
SOFTWARE LOCALIZADOR DE APARELHOS DE CELULARES ANDROID
Trabalho de Conclusão Curso apresentado como
exigência parcial para a obtenção do título de
Bacharel em Ciência da Computação da Universidade
Anhembi Morumbi, sob a orientação do Prof.
Alessandro Biagi Costa.
Aprovado em:
Nome do orientador/titulação/IES
Nome do convidado/ titulação/IES
Nome do convidado/IES
É incansável buscar o conhecimento!
Interminável
é
sua
procura!
Aos mestres, que nos abreviam esta
procura!
O Reconhecimento sempre aos nossos
queridos Professores!
RESUMO
Visando a necessidade de identificar a localização de aparelhos celulares
roubados ou perdidos, foram realizadas pesquisas para verificar a viabilidade de
desenvolver um aplicativo para celulares capaz de informar a localização do
aparelho e gravar as últimas posições em um mapa. Onde, através de um serviço
que ficará disponível em um domínio na internet será possível visualizar as
posições que foram gravadas no qual o usuário que tiver o aplicativo instalado no
celular irá receber um usuário e uma senha para efetuar o login. Assim será
possível verificar as 20 últimas posições do celular, com base em estatísticas
realizada (ANATEL, 2011) 40% dos celulares roubados irão parar no mercado
negro. O aplicativo será desenvolvido para celulares com o sistema operacional
Android, com o serviço disponível na internet, o mesmo poderá ser acessado de
qualquer PC ou MAC, desde que tenha acesso a Internet.
PALAVRAS CHAVE: Android. Localizador de celular.
SUMÁRIO
1
INTRODUÇÂO.................................................................................................10
1.1
OBJETIVO.......................................................................................................10
1.2
MOTIVAÇÃO...................................................................................................10
1.3
ABRANGÊNCIA...............................................................................................11
1.4
ESTRUTURA DO TRABALHO........................................................................12
2
MERCADO DE DISPOSITIVOS MÓVEIS.......................................................13
2.1
DISPOSITIVOS MÓVEIS................................................................................13
2.2
WAP….............................................................................................................14
2.3
A TECNOLOGIA 2G........................................................................................14
2.4
A TECNOLOGIA 2,5G.....................................................................................14
2.5
A TECNOLOGIA 3G........................................................................................15
3
SISTEMAS OPERACIONAIS..........................................................................16
3.1
Windows Phone 7............................................................................................16
3.2
IOS 4................................................................................................................17
3.3
Android............................................................................................................17
3.4
Symbian...........................................................................................................18
3.5
Comparativos entre SO’s.................................................................................19
3.6
Tipos de aplicações.........................................................................................20
4
APLICAÇÕES DE LOCALIZAÇÃO................................................................21
4.1
Aplicações Android…......................................................................................21
4.1.1 Glympse……………….……………………………………………….……………21
4.1.2 kor.im. Phone Locator...………………………………….…………….…………..22
4.2
Aplicações Symbian........................................................................................23
4.2.1 Puntalo Mobile Tracking..................................................................................23
4.2.2 Periodic PhoneLocator....................................................................................25
4.7
Comparativo funcional.....................................................................................27
5
TIPOS DE RASTREAMENTO.........................................................................28
5.1
GPS.................................................................................................................28
5.2
Assisted-GPS (A-GPS)....................................................................................28
5.3
Cell Identification.............................................................................................28
5.4
Angle of Arriva.................................................................................................29
5.5
Time Difference of Arrival................................................................................29
6
SISTEMA ANDROID……………………………………………………………….30
6.1
ARQUITETURA……………………………………………………………………..30
6.1.1 Linux Kernel…………………………………………………………………….......30
6.1.2 Bibliotecas…………………………………………………………………………...31
6.1.3 Rotina de Execução do Android…………………………………………………..32
6.1.4 Framework das Aplicações………………………………………………………..32
6.1.5 Aplicações e Widgets………………………………………………………………33
6.1.6 Ciclo de vida de um aplicativo Android………………………………………......33
6.2
ANDROID SOFTWARE DEVELOPMENT KIT………………………………….35
6.2.1 Requisitos do sistema para o SDK……………………………………………….35
6.3
FUNCIONAMENTOS DOS MÓDULOS DA APLICAÇÃO..............................36
6.3.1 Uso do GPS...................................……………………………………………….36
6.3.2 Acessando a Web Service.............……………………………………………….37
6.3.3 Bloqueando o Celular....................……………………………………………….37
7
DESENVOLVIMENTO DE SOFTWARE…………………………………………39
7.1
Arquitetura do Aplicativo…………………………………………………………...39
7.2
Engenharia de Software…………………………………………………………...39
7.2.1 Levantamento de Requisitos……………………..……………………………….39
7.2.2 Diagrama de caso de uso………………………………………………………….42
7.2.3 Principais casos de uso……………………………………………………………42
7.2.3.1Caso de Uso: UC5 - Atualizar Posicionamento……....…………………………42
7.2.3.2Caso de Uso: UC6 - Gravar posicionamento…………………………..……….45
7.2.3.3Caso de Uso: UC9 - Mostrar Posicionamento do aparelho celular.................47
7.3
Principais Desafios…………………………………………………………………49
8
CONCLUSÃO……………………………………………………………………….53
8.1
Trabalhos Futuros…………………………………………………………………..54
9
ANEXOS........……………………………………………………………………….55
REFERÊNCIAS BIBLIOGRÁFICAS……………………………………………………..64
ABSTRACT
Aiming at the need to identify the location of stolen and lost cellphones, a survey was
taken to check the need and viability of the development of an application for
cellphones that is able to inform the current location of the equipment and keep the
last locations on a map, and using a service that will be available over the Internet it
will be possible to see all the stored locations. The person that will be using the
application will be granted an username and password to login on the service and
check the 20 last recorded positions of the cellphone. Based on a research
conducted (ANATEL, 2011), 40% of the stolen cellphones end up in the black
market, the application will be developed to cellphones using the Android system,
and the service will be available over the Internet and can be used from any PC or
MAC with internet connection.
KEY WORDS: Android, Cellphones Finder.
LISTA DE FIGURAS
Figura 1 - Tecnologia dos dispositivos móveis...........................................................13
Figura 2 - Arquitetura Symbian OS............................................................................18
Figura 3 - Glympse – Localização em tempo real......................................................21
Figura 4 - kor.im.Telefone Locator.– Localização por meio de Solicitação................22
Figura 5 - LoginUsuário..............................................................................................24
Figura 6 - Localização do parelho..............................................................................24
Figura 7 - Login..........................................................................................................25
Figura 8 - Ativando Updates de Localização..............................................................26
Figura 9 - Arquitetura do sistema Android..................................................................30
Figura 10 - Estados da Aplicação...............................................................................33
Figura 11 - Tela que permite o usuário configurar senhas de acesso.......................38
Figura 12 - Fluxo do aplicativo...................................................................................41
Figura 13 - Diagrama de caso de uso........................................................................42
Figura 14 - Diagrama de atividade UC05...................................................................44
Figura 15 - Diagrama de sequência UC05.................................................................45
Figura 16 - Diagrama de atividade UC06...................................................................46
Figura 17 - Diagrama de sequência UC06.................................................................47
Figura 18 - Diagrama de atividade UC09...................................................................48
Figura 19 - Diagrama de sequência UC09.................................................................49
Figura 20: Tela de cadastro do usuário......................................................................53
Figura 21: tela de cadastro do usuário.......................................................................53
Figura 22: Tela de posicionamento e configuração de ações....................................54
Figura 23: Tela para conceder acesso administrativo................................................54
Figura 24: Tela do Android com ações que o aplicativo poderá executar.................55
Figura 25: arquivo de histórico das posições do aparelho.........................................55
LISTA DE GRÁFICOS
Gráfico 1 - Testes de consumo da bateria pelo aplicativo..........................................51
LISTA DE TABELAS
Tabela 1: Comparativos de Sistemas Operacionais (SO)..........................................20
Tabela 2: Comparativo de Aplicações........................................................................27
Tabela 3: Descrição dos métodos do ciclo de vida....................................................34
Tabela 4: Parâmetros do método requestLocationUpdates......……………………….38
Tabela 5: Layout de configuração…...…..……………………………………………….50
Tabela 6: Sequência das posições…………………………………………………...…..50
LISTAS DE SIGLAS
SDK
Software Development Kit
IDE
Integrated Development Environment
SO
Sistemas Operacionais
GPS
Sistema de Posicionamento Global
TDOA
Time Difference of Arriva
JVM
Máquina virtual Java
ADT
Android Development Tools
GPRS
General Packet Radio Service
EDGE
Enhanced Data for Global Evolution
10
1 INTRODUÇÃO
No Brasil, em março de 2011, existiam aproximadamente 210,5 milhões de
celulares (ANATEL, 2011). Portanto o número de celulares em alguns Estados já
ultrapassa o número de habitantes, por exemplo, o Estado de São Paulo, que tem
125 celulares a cada 100 habitantes, ou o caso mais extremo do Distrito Federal que
tem 184 celulares a cada 100 habitantes (ANATEL, 2011).
Com base em números divulgados em janeiro de 2011, pelo Ministério da
Justiça e da Secretaria Nacional de Segurança Pública, a partir da análise das
ocorrências registradas pelas Policias Civis, em 2004 foram mais de 3 milhões de
roubos e furtos de aparelhos celulares (JUSTIÇA e SEGURANÇA, 2011), o que
corresponde a cerca de 0,5 % dos celulares registrados em 2004 (ANATEL, 2005).
Segundo a pesquisa cerca de 40% dos aparelhos roubados foram destinados para
prática de comércio ilegal.
Com aplicativos capazes de rastrear e informar a localização do aparelho
celular, independente do chip, conexão com WIFI, 3G, EDGE, podem ajudar a
diminuir esse número, possibilitando o usuário recuperar seu aparelho com mais
facilidade e sem muito transtorno. Não havendo a possibilidade de recuperação o
aplicativo seja capaz de apagar todas as informações do aparelho, assegurando
assim, que a pessoa que esteja com aparelho não tenha acesso a informações
confidências de outras pessoas.
1.1 OBJETIVO
Este trabalho propõe o desenvolvimento de um aplicativo composto por uma
aplicação cliente instalada em um dispositivo móvel para telefonia celular com o
sistema operacional Android, cuja finalidade é identificar a localização e enviá-la
para outra aplicação residente em um servidor conectado à internet. Esta segunda
aplicação registrará a posição do celular enviando a um banco de dados para futuras
consultas – exemplo: última posição registrada, posições do dispositivo durante um
determinado período de tempo.
11
1.2 MOTIVAÇÃO
O grande número de registros de furtos de dispositivos celulares em 2004
(JUSTIÇA e SEGURANÇA, 2011), quando o número de celulares era muito menor
do que atualmente (ANATEL, 2011,2005), justifica o objetivo deste trabalho
acadêmico-científico.
A escolha do sistema operacional Android deve-se à sua compatibilidade com
diversas marcas e modelos de dispositivos – exemplo: HTC, Samsung, LG,
Motorola, entre outros – fato, este que não se verifica nos sistemas operacionais,
proprietários como o iOS que roda exclusivamente nos dispositivos da Apple.
Adicionalmente, o Kit de Desenvolvimento de Software (SDK – Software
Development Kit) do Android é facilmente utilizado em ambientes integrados de
desenvolvimento (IDE – Integrated Development Environment) tais como, Eclipse e
NetBeans. (FRAGA, 2011).
Em termos de mercado, o desenvolvimento para plataforma Android permite
que este produto possa ser disponibilizado ao público futuramente no Android
Market (FRAGA, 2011).
1.3 ABRANGÊNCIA
O projeto abrange o quesito segurança para celulares com sistema
operacional Android, que visa à localização do celular através do GPS, que
determinará a localização do aparelho e enviará a posição para um servidor
possibilitando consultas das posições registradas através de uma página na WEB.
Este serviço contará com um sistema de cadastro de usuário, senha e número do
celular, no aplicativo o usuário poderá aplicar as suas configurações desejadas em
caso de perda ou furto, por exemplo: ativar uma música no aparelho celular.
Em uma página na WEB, o usuário poderá efetuar o download do aplicativo a
ser instalado no celular, sendo possível visualizar o histórico das últimas 20 posições
já configurado como default, identificados cronologicamente, e exibidos em um mapa
semelhante ao Google Maps, com um raio de no mínimo de 15 metros de diferença
entre os pontos, evitando assim o sistema registrar 20 posições iguais, exemplo: o
12
celular permaneça para em cima da mesa do usuário em seu local de trabalho ou na
sua residência.
13
1.4 ESTRUTURA DO TRABALHO
O trabalho está estruturado em 5 (cinco) capítulos. No capítulo 2 (dois), são
apresentados todos os conceitos relacionados à tecnologia de um celular, como a
tecnologia de conexão com a rede da operadora, as comparações dos principais
sistemas operacionais para celulares, exemplificando dois aplicativos para celulares
que existente no mercado, uma breve explicação dos tipos de rastreamento de
celulares existentes.
No capítulo 3 (três) são abordadas todas as informações referentes ao
sistema operacional escolhido para o desenvolvimento do aplicativo, o Android.
Neste capítulo, é abordado um pouco da história do sistema operacional, sobre a
arquitetura do sistema operacional, o ciclo de vida de um aplicativo para celular, e
apresentadas especificações das ferramentas utilizadas para o desenvolvimento de
um aplicativo para Android.
No capítulo 4 (quatro) é apresentado o aplicativo desenvolvido para celular,
abordando os principais desafios que ocorreram durante o desenvolvimento, as
soluções experimentadas, as soluções adotadas e toda a parte de engenharia de
Software.
No capítulo 5 (cinco) é apresentada a conclusão desde trabalho, com todo o
conteúdo agregado, pesquisa e análise dos dados coletados e também possíveis
trabalhos futuros a serem realizados para a melhoria do aplicativo.
14
2 MERCADOS DE DISPOSITIVOS MÓVEIS
Atualmente o mercado de dispositivos móveis encontra-se bem diversificado,
com várias marcas, modelos de aparelhos, sistemas operacionais, serviços (envio
de email, conectividade com as redes sociais), operadoras, porém nem sempre foi
assim. Nos primórdios, os celulares eram grandes e o serviço era limitado.
2.1 DISPOSITIVOS MÓVEIS
Dispositivos móveis, a primeira lembrança são os celulares, que oferecem
serviços e aplicações complementares à voz. Muita coisa mudou para os
dispositivos móveis, em 2004, os aparelhos suportavam apenas conexão 2G,
centrados em voz e suas capacidades eram limitadas. Em 2007 o quadro já era
outro, os aparelhos de 2,5G já apresentavam convergência e tinham sistema
operacional inteligente, com capacidade de conexão com redes Wireless sem fio.
Hoje em dia o foco são as telas mais aperfeiçoadas, interface amigável com o
usuário, acesso por múltiplas frequências de rádio e importância no valor do
dispositivo (RESEARCH, 2008).
Figura 1 - Tecnologia dos dispositivos móveis. Fonte: QUADROS e SCHMID (2010)
15
2.2 WAP
O WAP (Wireless Application Protocol) são protocolos desenvolvidos para uso
em dispositivos móveis que utiliza comunicação de dado digital. Foi desenvolvido
para suportar os mesmos serviços utilizados na web em celulares (MORIMOTO,
2005).
2.3 A TECNOLOGIA 2G
A segunda geração de telefonia móvel, conhecida como 2G (foi uma forma de
nomear a mudança de telefonia analógica para digital), o desenvolvimento desta
nova tecnologia ocorreu pela necessidade de melhorar a qualidade do serviço, pois,
estava deixando a desejar no quesito transmissão de dados. A taxa de transmissão
de dados não excedia os 9,6 Kbps, como o meio utilizado para a transmissão dados
era o mesmo utilizado para a transmissão de voz. Foram introduzidos protocolos que
permitem mais conexões simultâneas com a mesma largura de banda que permite
integrar serviços no mesmo sinal, como o envio de mensagens e a transmissão de
dados entre dispositivos de fax e modem. Os protocolos da telefonia 2G são: GSM,
TDMA, CDMA (Figura 1) (QUADROS e SCHMID, 2010).
2.4 A TECNOLOGIA 2,5G
O 2,5G, nada mais é, que a transição da tecnologia 2G para a 3G, pois, ela
utiliza a tecnologia GPRS (General Packet Radio Service), que é uma evolução da
tecnologia GSM. A taxa de transmissão de dados para 2,5G é de aproximadamente
144 Kbps. Foi inserida uma nova tecnologia chamada EDGE (Enhanced Data for
Global Evolution), que é uma tecnologia de transmissão de dados em alta
velocidade, até 384 Kbps. Os protocolos da telefonia 2,5G são: GPRS, EDGE e
CDMAone (Figura 1), (MORIMOTO, 2005).
16
2.5 A TECNOLOGIA 3G
O 3G é a terceira geração da tecnologia de transmissão de dados destinada
telefonia móvel, ela proporciona uma transmissão de dados mais rápida, podendo
chegar a 7,2 Mbps, tornando possíveis as operadoras oferecerem pacotes de
serviços a custos acessíveis. Com o surgimento dessa tecnologia, o 3G passou a
ser utilizado em modens ou cartões de dados com a tecnologia, em computadores e
Netbooks, hoje já existem roteadores que fazem o compartilhamento com a
tecnologia 3G. Com a alta demanda pela tecnologia 3G, esse serviço futuramente
pode causar um “gargalo”, fazendo com que as operadoras de telefonia celular
invistam em infraestrutura, garantindo um bom serviço e qualidade (PACÍFICO,
2009).
Já em desenvolvimento a tecnologia 4G que virá com algumas melhorias, por
exemplo: a velocidade que pode atingir a casa dos gigabytes. Os usuários serão
capazes de utilizar a internet no celular tão rápido como se estivesse ligado na sua
banda larga convencional (SILVA, 2011).
3 SISTEMAS OPERACIONAIS
Atualmente são quatro os principais sistemas operacionais para celular:
Windows Phone 7, iOS, Android e Symbian.
3.1 Windows Phone 7
O sucessor do Windows Mobile, o Windows Phone 7 é o sistema operacional
voltado para aparelhos celulares desenvolvidos pela Microsoft. Seus aplicativos são
desenvolvidos através do IDE Visual Studio 2010, Silverlight para a parte gráfica
mais simples e Expression Blend 4 para parte gráfica de programas que necessitam
de um design mais complexo como animação, e tratamento de estilos mais
arrojados. (RANDOLPH e FAIRBAIRN, 2010).
A arquitetura do Windows Phone 7 leva em consideração o hardware, a fim
de evitar o fracasso como ocorreu com o seu antecessor, o Windows Mobile, um SO
17
lento e não muito confiável devido as falhas de seus aplicativos. Para evitar este
problema no Windows Phone 7, a Microsoft passou a ter configurações básicas
como um processador de 1 GHz, sensores de movimento, câmera de 5 megapixel
(RANDOLPH e FAIRBAIRN, 2010).
O código fonte do Windows Phone 7 não é aberto, assim grande parte do que
está no celular é feito e desenvolvido pela Microsoft, podendo haver algum código
desenvolvido pelo próprio fabricante do Hardware para casos específicos. Isso
facilita o desenvolvimento, pois, estabelece uma plataforma sólida e coesa para
todos os aparelhos.
Por ser um SO relativamente novo, e não existe no mercado Brasileiro
aparelhos com o Windows Phone 7, assim como o material para estudos e
desenvolvimento de aplicativos também são menores comparados ao Android da
Google e o iOS da Apple
Apesar dos números apresentados pela Microsoft com 1,5 milhão de
desenvolvedores que já baixaram os arquivos necessários para desenvolver
aplicativos para o Windows Phone 7, segundo notícia publicada pela Exama.com
uma pesquisa feita pela empresa IDC, revelou que 62% dos desenvolvedores
entrevistados acreditam que a Microsoft não ocupe o segundo lugar entre os
sistemas operacionais para celulares, e que 47% desenvolvem para sistemas iOS e
Android, simplesmente não desenvolvendo nada para o Windows Phone 7
(WATSON, 2011).
3.2 iOS 4
O iOS é um sistema operacional para dispositivos móveis da Apple (iPhone,
iPad e iPod Touch), criado para o iPhone e depois utilizado no iPod Touch e por
ultimo no iPad, ele não permite executar em qualquer hardware, somente nos
aparelhos da Apple.
O principal foco do iOS é a interface usuário-máquina e desempenho do
sistema, criado com o propósito de ter maior proveito do Hardware e melhor
aproveitamento da energia sem desperdício. O sistema e o Hardware rodam em
harmonia, a fim de proporcionar melhor desempenho, com interface intuitiva que
facilita a utilização do sistema pelo usuário e com um simples toque possibilita
realizar chamadas e abrir aplicativos (a interação com o sistema operacional inclui
18
uma simples ações como: tocar na tela com o dedo, deslizar e o um movimento de
pinça utilizado para dar zoom nas imagens e textos facilitando a visualização). O iOS
é desenvolvido na linguagem Objective-C no IDE Xcode para Mac OS. Também é
possível programar para iPhone em Linux e Windows usando o Toolchain para
iPhone, é necessário um iPhone desbloqueado para instalar os aplicativos criados
nesta ferramenta (APPLE, 2011; JUNHO, 2011; RABELLO, 2011; TOOCHAIN,
2011).
3.3 Android
O Android é um sistema operacional desenvolvido pelo Google que roda
sobre o núcleo Linux. O sistema foi desenvolvido em Java, C, C++ e XML, roda
aplicativos desenvolvidos em Java, onde o dispositivo é controlado através da
biblioteca desenvolvida pelo próprio Google. O Android é um código aberto
desenvolvido para rodar em qualquer tipo de aparelho (marca ou modelo)
inicialmente criado com a interface não muito intuitiva, mas, com o passar do tempo
foi sendo adaptado e se tornando mais intuitivo na sua utilização. Com a versão da
plataforma 3.1 permite o uso de recursos externo como dispositivos de áudio,
dispositivos de entrada, dispositivos de comunicação, hubs, câmeras, mouse e
teclados etc (LECHETA, 2011).
3.4 Symbian
O Symbian OS é um sistema operacional aberto que foi desenvolvido pela
Symbian Ltda. O Symbian OS é uma evolução da plataforma Psion EPOC 32-bit
lançada em 1997 no Psion Series 5 PDA, em 1998 pela spin-off da Psion Software
Ltda, Nokia, Ericsson e Motorola. A spin-off tinha como objetivo criar uma plataforma
de software para os smartphones, um software combinado com computação e
telefonia, tornando se a plataforma Symbian, foi licenciado por vários fabricantes de
celulares. Apesar de o Symbian rodar em celulares menos avançados ele também
foi projetado para os telefones mais avançados com tecnologias 2G, 2.5G e 3G, ao
executar em telefones avançados ele exige o mínimo da bateria e da memória dos
aparelhos, com aplicações robustas e com sua arquitetura que é orientada a objetos,
na figura 2 é possível visualizar a arquitetura do SO Symbian.
19
Figura 2 Arquitetura Symbian OS. Fonte: Symbian (2011)
Desde 1998 houve várias versões do Symbian OS v5.0 Pesion Series
5mx/Psion Revo (1999), V5U Ericsson R380 (2000), V6.1 Nokia 7650 (2002), a partir
desta versão V6.1 que foi implementado o suporte ao Bluetooth, V7.0 Sony Ericsson
P800 (Final de 2002).
Com o Kit de desenvolvimento SDK para o Windows não era possível
desenvolver para o Symbian em outras plataformas, mas com a iniciativa da
GNUPOC, foi possível instalar o SDK no sistema operacional Linux, assim
possibilitando o desenvolvimento em Linux (Symbian, 2011).
3.5 Comparativos entre SO's
Ao contrário do Android, o código fonte do Windows Phone 7 não é aberto,
assim grande parte do que está no celular é feito e desenvolvido pela Microsoft,
podendo haver algum código desenvolvido pela própria fabricante do hardware para
casos específicos. Isso facilita o desenvolvimento, pois, estabelece uma plataforma
solida e coesa para todos os aparelhos.
O Windows Phone 7, por ter um SO relativamente novo não se encontra no
mercado Brasileiro, os aparelhos com o Windows Phone 7, assim como material
para estudos e desenvolvimento de aplicativos também são menores comparados
ao Android da Google e o iOS da Apple
20
Apesar dos números apresentados pela Microsoft com 1,5 milhões de
desenvolvedores que já baixaram os arquivos necessários para desenvolver
aplicativos para o Windows Phone 7, segundo notícia publicada pela revista
eletrônica (Exame, 2011), em uma pesquisa feita pela empresa IDC, revelou que
62% dos desenvolvedores entrevistados, acreditam que a Microsoft não ocupa o
segundo lugar entre os sistemas operacionais para celulares, e que 47% dos
desenvolvedores desenvolvem para sistemas iOS e Android, não desenvolvendo
nada para o Windows Phone 7 (RANDOLPH e FAIRBAIRN, 2010).
Assim como o Windows Phone 7 o iOS não são sistemas operacionais
abertos, hoje existem apenas dois SO’s que são sistemas operacionais abertos, o
Android e o Symbian, O Android lançado em 2008, hoje está com uma fatia de 33%
do mercado deixando em segundo iOS da Apple com 25%, já o Symbian que está à
beira da extinção detém de uma parcela muito pequena mercado mundial
(SYMBIAN, 2011).
Os SO's com as funcionalidades mais intuitivas são o Symbian que mantém
sempre o mesmo padrão com uma funcionalidade bem amigável, o iOS Apple que
mantém sua estrutura sem grandes mudanças na interface, o Android está
melhorando seu SO para ser mais intuitivo na sua utilização, já o Windows Phone 7
complicou um pouco a usabilidade de algumas aplicações através de atalhos não
muito intuitivos (SYMBIAN 2011; GASPAR, 2011; IONESCO, 2011).
O sistema operacional escolhido para o aplicativo proposto é o Android. Ele
possui uma alta fragmentação, visto que nenhum outro possui essa mesma
característica, representada na tabela 1 abaixo.
Fragmentação em um sistema operacional móvel é a variação da
customização realizada de um fabricante para outro. No caso do Android, podemos
exemplificar as formas de customizações para modelos de celular, em três
fabricantes distintos: SAMSUNG (modelo: Galaxy S), LG (modelo: GW620) e Sony
Ericsson (modelo: Xperia X10). Os três modelos possuem o mesmo sistema
operacional, porém customizações distintas umas das outras.
21
Tabela 1 Comparativos de Sistemas Operacionais (SO). Fonte: Grupo (2011).
Linguagem de
iOS
Android
Windows Phone 7
Symbian OS
Objective C
C++, C, Java
C#, vb net
C++, C, Java
Xcode
NetBeans, Eclipse
Visual Stutio 2010,
NetBeans,
Silverlight e Expression
Eclipse,
Blend 4 (parte gráfica)
Carbide.c++
Sem fragmentação
Sem
programação mais
utilizada
IDE mais utilizados
Prós
Sem
Open Source
Fragmentação
fragmentação
Grande número
Sem restrição de marca
Sem restrição de marca
de aplicativos
ou modelo de celular
ou modelo de celular
Grande número de
aplicativos
Contras
Restrito para uso
Alta Fragmentação
de produtos da
Pouco material de
SO antigo
estudo
Apple
Necessita de um
Pouco interesse dos
MAC para
desenvolvedores para
desenvolvimento
criação de aplicativos
Sairá do mercado
de aplicativos
Apesar da alta fragmentação o sistema operacional Android, foi escolhido
para o desenvolvimento da aplicação proposta, atualmente lidera o mercado de
dispositivos móveis, possui código aberto e de fácil desenvolvimento, não é restrito a
um único fabricante e está se tornando cada vez mais intuitivo.
3.6 Tipos de aplicações
Os dispositivos móveis estão cada vez mais ligados a aplicações baseadas
em mapas e dispositivos de localização, e nos vários exemplos de recursos que
auxiliam e atendem os interesses dos usuários podemos descrever o rastreamento e
identificação de rotas (PEREIRA, 2010).
22
4 APLICAÇÕES DE LOCALIZAÇÃO
Existem vários tipos de aplicações para localização de celulares. A seguir
têm-se algumas aplicações para plataformas de diferentes SO´s.
4.1 Aplicações Android
Aplicações de localização para o sistema operacional Android são
desenvolvidos em ferramentas que não possuem licença para uso.
4.1.1 Glympse.
Glympse é um serviço móvel que permite através de um dispositivo GPS no
aparelho celular, compartilhar sua localização através de um mapa baseado na Web
por um período pré-definido de tempo (RAMALHO, 2010).
Figura 3 – Glympse – Localização em tempo real. Fonte: GLYMPSE (2010)
O sistema compartilha o posicionamento com os usuários desejados. Para
isso é preciso selecionar um contato ou contatos, e escolher a duração que o local
deverá estar à disposição do destinatário, em seguida, enviar sua localização. O
23
destinatário receberá uma mensagem e poderá visualizar em qualquer navegador
um mapa com o deslocamento (GLYMPSE, 2010).
Na extremidade de recepção, qualquer usuário com internet ativa pode
receber uma notificação e ver o seu paradeiro de tempo em tempo, com fidelidade
completa e interativa. O destinatário recebe uma mensagem SMS ou e-mail com um
endereço de uma página da internet única, que pode ser aberto em qualquer
navegador, mostrando um mapa, identificando a localização exata do remetente,
conforme a figura 3 (GLYMPSE, 2010).
4.1.2 kor.im. Phone Locator.
Esta aplicação realiza a localização, com uma mensagem de texto contendo
uma palavra-chave, onde o retorno é a posição do mapa com a localização atual.
Figura 4 – kor.im. Phone Locator.– Localização por meio de Solicitação. Fonte:
KOR.IM.PHONELOCATOR (2010)
24
Características:
-
Encontrar o dispositivo, por meio de um som emitido.
-
Encontrar o dispositivo por meio de um GPS ou rede / local wlan.
-
Encontrar o dispositivo, utilizando Bluetooth e redes Wi-Fi encontradas.
-
Enviar
-
Acompanhamento do dispositivo silenciosamente no endereço: http://kor.im.
-
Utilização de login e senha para a proteção dos dados do usuário.
-
Partilhar o seu endereço por SMS, e-mail, Facebook, Twitter, etc.
um
e-mail
caso
o
cartão
SIM
tiver
sido
alterado.
Caso seja necessário configurar o aplicativo para ser capaz de remotamente
bloquear
a
tela,
existem
algumas
configurações
de
segurança
(KOR.IM.PHONELOCATOR, 2010).
4.2 Aplicações Symbian
Para o desenvolvimento de um aplicativo para Symbian, podem ser utilizadas
ferramentas grátis de fácil acesso.
4.2.1 Puntalo Mobile Tracking
O Puntalo é um serviço web que permite monitorar a localização de um
aparelho de celular específico. Esta busca é feita através do mapa no site, ser
notificada por e-mail ou SMS quando a rota for modificada Figura 5. Fabricado pela
Puntalo GmbH, ele é composto por duas partes distintas: Um aplicativo a ser
instalado no celular que você deseja rastrear e, um Website, onde você poderá
seguir em real time onde se encontram os celulares rastreados (PUNTALO, 2010).
Foi empregada na tecnologia adotada pelo Puntalo, uma série de técnicas
(GPS, triangulação de antenas celulares e posicionamento de redes Wi-Fi) para
ajudar na localização do aparelho buscado Figura 6. A precisão do sistema GPS
disponível no mercado é propositalmente menos eficaz por razões de segurança, ou
seja, será feita a localização dentro de uma área específica, mas nem sempre no
ponto exato em que se encontra o aparelho buscado.
25
Figura 5 - Login Usuário. Fonte: PUNTALO
(2010).
Figura 6 - Localização do Aparelho. Fonte: PUNTALO (2010).
A versão gratuita permite ver a localização do celular no mapa. Para outras
funções, como gravação de rotas, é necessário assinar o serviço.
26
4.2.2 Periodic PhoneLocator
Phonelocator Periodic é um serviço gratuito que ajuda manter o controle
sobre a localização de um determinado telefone. Ele roda em segundo plano e pode
atualizar periodicamente a localização do telefone para o servidor Phonelocator. As
atualizações também podem ser acionadas remotamente, quando for enviada uma
mensagem de texto para o telefone que começa com a palavra 'Update'.
Phonelocator Periodic não se destina a ser um perseguidor. Ele foi projetado
para ser executado o tempo todo e atualizar periodicamente a localização do
telefone sem um efeito notável sobre a vida da bateria do telefone (PERIODIC,
2011).
A aplicação Periodic envia constantemente a localização do telefone para o
servidor. Está disponível na página My Map, ou a partir do link na página,
“Atualizações meus telefones” Figura 7.
Figura 7 - Login, Fonte: vídeo demonstração PERIODIC (2011).
As atualizações podem ser ativadas e desativadas em qualquer momento
através do próprio aplicativo Figura 8. O ajuste da frequência de atualizações
27
também pode ser configurado, controlando as atualizações que serão enviadas. A
cada atualização solicitada pelo aplicativo, observa-se que o consumo da energia da
bateria dos aparelhos é muito alto, pois, envolve o envio de dados para o servidor e
do servidor para o aparelho. Portanto, com o maior número de atualizações
enviadas, mais rapidamente a bateria será degradada e mais dados serão enviados.
Abaixo a tela que permite o usuário realizar as configurações de quanto
tempo será realizado o update, configurações de Passcode, etc.
Figura 8 - Ativando Updates de Localização, Fonte: vídeo demonstração, PERIODIC
(2011).
28
4.7 Comparativo funcional
Um comparativo das aplicações, a Tabela 2, que mostra os aplicativos
pesquisados e com o que foi desenvolvido neste trabalho.
Tabela 2 Comparativo de Aplicações. Fonte: Grupo (2011)
O principal atributo a ser analisado na tabela acima: “suporte à localização
sem rede (Wi-Fi, 3G, etc)”. A proposta do software engloba salvar as posições
registradas em um arquivo de texto(.txt) localizado dentro do aparelho celular e,
após ser estabelecida uma conexão válida com a internet, será enviado os arquivo
gravados via WebService para poder gravar o posicionamento no banco de dados
do servidor destino. Portanto, mesmo que não haja conexão ativa com a internet, o
registro é salvo no arquivo texto, mantendo um histórico de posições atualizado no
banco de dados.
29
5 TIPOS DE RASTREAMENTO
Existem cinco tipos de rastreamento, que se diferenciam no método aplicado
para rastreamento da posição do dispositivo.
5.1 GPS
O GPS ou Sistema de Posicionamento Global (Global Positioning System) é
baseado em um sistema de rádio navegação, que consiste em um conjunto de 24
satélites que orbitam a Terra em seis órbitas diferentes, ou seja, quatro satélites
operando em uma mesma órbita a uma altura de mais de 17 mil quilômetros. Cada
satélite dá uma volta completa em sua órbita em 12 horas (KUHNEN, 2003).
Exibe uma rede que monitora a órbita de cada satélite a fim de assegurar se
que estejam no percurso correto, e com isso informando a posição com uma
precisão de 22 metros. Porém, apesar de ser muito precisa esse dispositivo não
funciona muito bem em ambientes fechados (Ex: túnel), uma vez que as
comunicações com os satélites tornam-se dificultosas (KUHNEN, 2003).
5.2 Assisted-GPS (A-GPS)
O A-GPS se baseia na distribuição das tarefas do posicionamento entre os
dispositivos móveis e os servidores de serviço de localização, ou seja, o dispositivo
não precisa fazer todo o cálculo de sua localização compartilhando a tarefa com os
servidores, reduzindo o tempo do cálculo e economizando energia do aparelho.
Apesar de ser mais rápido, esse tipo de serviço é mais caro que o GPS uma vez que
é necessário pagar para empresa que disponibiliza os servidores (KUHNEN, 2003).
5.3 Cell Identification
Cell Identification (Cell ID) se baseia em identificar uma determinada área que
o usuário se encontra utilizando o sinal da operadora do celular. Um servidor
armazena as informações de cada área como latitude, longitude da posição da torre,
ângulos iniciais e finais dos setores das estações e o raio máximo de cobertura,
30
como esses tipos de informações variam de acordo com a região, a localização pode
haver uma variação de 150 metros a 20 quilômetros (KUHNEN, 2003).
5.4 Angle of Arrival
O Angle of Arrival (AOA) determina a posição de acordo com ângulo de um
determinado sinal chega às antenas. Com apenas duas antenas, já é possível fazer
o calcúlo da posição (KUHNEN, 2003).
5.5 Time Difference of Arrival
Semelhante ao AOA, Time Difference of Arriva (TDOA), utiliza vários
receptores de rádio frequências que são instalados nas antenas. Quando um
dispositivo envia o sinal para as antenas, os receptores conseguem captar sua
direção, e através do seu tempo de chegada é possível calcular a posição do
dispositivo (KUHNEN. A, 2003).
31
6 SISTEMA ANDROID
Android sistema operacional Open Source criado e desenvolvido pela
empresa Google, baseado no sistema operacional Linux.
6.1 ARQUITETURA
A arquitetura do sistema operacional Android é dividida em algumas partes
que seguem uma determinada hierarquia ilustrada pela figura 9. Abaixo citaremos as
principais.
6.1.1 Linux Kernel
O sistema operacional Android foi baseado no Linux que é responsável por
gerenciar a memória, os processos, threads (thread é um fluxo único de controle
seqüencial dentro de um programa que permite um programa simples executar
varias tarefas diferentes ao mesmo tempo), e a segurança de arquivos e pastas de
redes e drivers.
Figura 9 - Arquitetura do sistema Android Fonte: ABLESON, SEN e KING (2011).
32
Com isso, o Android pode disparar vários processos simultâneos que o kernel
será responsável por todo o gerenciamento da memória. Esses processos podem
ser tanto aplicativos que necessitam uma interface para interação com o usuário
como um processo que pode ser executado em segundo plano (LECHETA, 2011;
ABLESON, SEN e KING 2011).
Desta forma, o Android usa o Kernel do Linux para gerenciar todos os
processos, ou seja, todos os aplicativos desenvolvidos para o Android nunca farão
uma requisição direta ao Linux. Como pode ser visto na figura 9, todas as aplicações
são desenvolvidas baseado no Application FrameWork que utiliza as bibliotecas
(Libraries) que caso necessário irão fazer as requisições ao kernel do Linux (Linux
Kernel), por exemplo, um aplicativo de necessita acionar a câmera ou o Bluetooth
(LECHETA, 2011; ABLESON, SEN e KING 2011).
6.1.2 Bibliotecas
Acima do Kernel do Linux encontram-se as bibliotecas (Libraries) que são
todas escritas em C e C++. As mais importantes são:
●
Surface Manager: Similar Surface Manager do Vista ou do Comptz
mais simples que ao invés de utilizar o screen buffer, ele vai de bitmap
a bitmap desenhando a tela que será mostrada ao usuário.
●
2D e 3D graphics: cuida da animação utilizando o ScalableGames
Language (SGL) e a OpenGL ES.
●
Media Codecs: Contém toda a inteligência, codecs, para tocar uma
variedade de áudio como AAC, AVC, MP3 e MPEG-4
●
SQL database: uma versão do mais simples, usado no Firefox e Apple
iPhone.
●
Browser Engine: usado para as visualizações de conteúdos HTML, usa
o mesmo mecanismo do navegador Google Chrome, o WebKit.
Essas bibliotecas não são padrões, podendo ser reescritas, ou seja, podem
variar dependendo da marca do aparelho celular.
33
6.1.3 Rotina de Execução do Android
No mesmo nível das Libraries tem-se a rotina de execução do Android, que
contém as Bibliotecas Java e a máquina Virtual Dalvik (Dalvik Virtual Machine)
(LECHETA, 2011; ABLESON, SEN e KING 2011).
A máquina virtual Java (JVM) não existe no sistema operacional do Android,
propriamente dito, mesmo que os aplicativos sejam desenvolvidos em Java. O que
se tem no Android é a maquina virtual Dalvik (Dalvk VM) desenvolvida por Dan
Bornstein na Google, nada mais é que uma versão da JVM otimizada para execução
em dispositivos celulares, e também para tablets (LECHETA, 2011; ABLESON, SEN
e KING 2011).
Diferentemente da JVM comum, depois que os bytecodes (classes.jar) da VM
de Dalvik são gerados, ela ainda converte os arquivos compilados para arquivos
.dex (Dalvik Executable), que representam as aplicações Android compiladas, que
são mais compactas e eficientes que as classes comum o que é muito importante
para dispositivos com pouca memória que são o foco do Android (LECHETA, 2011;
ABLESON, SEN e KING 2011).
O núcleo das bibliotecas do Java nativas do Android é diferente de ambas,
Java Standard Eddition (Java SE) e das bibliotecas Mobile Java Eddition (Java ME)
(LECHETA, 2011; ABLESON, SEN e KING 2011).
6.1.4 Framework das Aplicações
Acima das bibliotecas nativas e da rotina de execução do Android encontramse o framework das aplicações, que são blocos de códigos de alto nível que serão
utilizados para o desenvolvimento dos aplicativos (LECHETA, 2011; ABLESON,
SEN e KING 2011).
34
6.1.5 Aplicações e Widgets
O mais alto nível de programação encontrado na arquitetura do Android é
onde as interações do usuário com a aplicação são realizadas através das interfaces
gráficas. Os celulares com sistemas Android possuem as seguintes aplicações
padrão:
●
Discador;
●
E-mail;
●
Contatos;
●
Navegador Web;
●
Android Market.
6.1.6 Ciclo de vida de um aplicativo Android
É muito importante entender o ciclo de vida de um aplicativo, ou seja, saber
quais
estados
que
o
aplicativo
pode
se
encontrar,
como
executando,
temporariamente interrompido, em segundo plano, ou completamente destruído. A
figura 10 mostras todos os estados possíveis e quais seus possíveis próximos
estados (LECHETA, 2011; ABLESON, SEN e KING 2011).
Figura 10 - Estados da Aplicação Fonte: ABLESON, SEN e KING (2011).
35
Tabela 3 Descrição dos métodos do ciclo de vida. Fonte: ABLESON, SEN e KING (2011)
Método
Descrição
É obrigatório e, é chamada uma única vez. Logo após esse
onCreate(bundle)
método é chamado o onStart ().
Quando chamado a activity, aplicação já começa ficar visível
para o usuário. Logo após sua execução é chamado o método
onStart( )
onResume ( ).
É chamado quando a activity foi parado temporariamente, e
está sendo iniciada novamente. Logo após sua execução é
onRestart( )
chamada o método onStart ( ) novamente.
É chamada quando a activity está sendo executado como
activity principal depois de ter sido colocado em segundo
onResume( )
plano. É sempre chamado depois do método onStart ( ).
É chamado quando algum evento ocorre, quando o aparelho
entrar em modo de espera, para economizar energia. O
método pode salvar o estado da activity e recuperá-la no
onPause( )
método onResume( ).
É chamado quando a classe activity, não é mais visível para o
usuário. Possibilitando depois de parada a classe activity
pode ser reiniciado, caso isso ocorra o método onResume( ) é
chamado, caso contrário, fique muito tempo parada em
segundo plano, o sistema operacional precise liberar recurso,
onStop( )
o método onDestroy é chamado.
onDestroy( )
O método onDestroy encerra a execução de uma activity.
O ciclo de vida de um aplicativo depende da classe Activity e de outras duas
também muito importantes que estão explicadas a seguir:
●
Activity - é representado por uma tela. Uma activity é responsável por
controlar os eventos da tela.
●
Services - é utilizada para executar um serviço em segundo plano,
vinculado
a
um
processo
que
deve
ser
executado
por tempo
indeterminado e tem um alto consumo de recursos, memória e CPU, por
exemplo, o tocador de música.
36
●
Intent – Representa a intenção do aplicativo em executar uma
determinada ação. É através do Intent que é possível enviar uma
mensagem para o sistema operacional que deve interpretá-la e tomar as
ações necessárias, que pode ser desde abrir outra aplicação, um browser,
discar um número, enviar email, e muitas outras coisas.
6.2 ANDROID SOFTWARE DEVELOPMENT KIT
O Android Software Development Kit (SDK) é o Software utilizado para
desenvolver aplicações para o Android. Conta com um emulado que simula o celular
e as API para linguagem Java e, também contém as classes para o desenvolvimento
das aplicações. Para facilitar o desenvolvimento existe um plug-in para o Eclipse que
visa integrar o emulador com o IDE para maior rendimento no desenvolvimento, uma
vez que é possível depurar o código-fonte como qualquer outra aplicação Java.
Também é possível usar o celular via USB conectado no computador e
executar os aplicativos diretamente no celular, facilitando os testes e prevenindo as
possíveis incompatibilidades com o celular devido à fragmentação do Android.
6.2.1 Requisito do Sistema para SDK
O SDK suporta os seguintes sistemas operacionais:
●
Windows XP (32-bits) ou Vista (32 ou 64 bit)
●
Mac OS X10.5.8 ou posterior (somente x86)
●
Linux (testado no Linux Ubuntu)
Os IDE suportados:
●
Eclipse 3.4 (Ganymede), 3.5 (Galileo) e 3.6 (Helios) utilizando o plug-in
Android Development Tools (ADT) para integrar o emulado ao Eclipse.
●
JAVA, JDK 5 ou 6.
37
6.3 FUNCIONAMENTOS DOS MÓDULOS DA APLICAÇÃO
6.3.1 Uso do GPS
Para desenvolver uma aplicação que utilize o GPS no Android, existe uma
interface android.location.LocationListener, que fornece todas os métodos para tal,
porém o mais importante é o onLocationChangede(location), que é chamado
automaticamente pelo Android. Sempre que a localização do GPS for alterada, o
parâmetro passado será o “location”, contendo as informações de latitude e
longitude (LECHETA,2011).
Depois de desenvolvida a interface é necessário chamar o método
requestLocationUpdates(provedor, tempoMinimo, distanciaMinima, listener) (Tabela
4), que indica ao Android que a cada alteração nas posições do GPS, a aplicação
desenvolvida será acionada.
Tabela 4: Parâmetros do método requestLocationUpdates. Fonte: LECHETA (2011).
Parâmetro
Descrição
String provedor
nome do provedor de localização, geralmente "GPS",
que
pode
ser
acessada
pela
constante
LocationManeger.GPS_Provaider
long tempoMinimo
Tempo em milissegundos do intervalo que a aplicação
deve receber as atualizações da localização.
float distanciaMinima
Distância mínima em metros, da última posição para a
posição atual, necessária para a aplicação receber a
atualização.
LocationListener listener
Implementação da interface LocationListener, que
receberá as atualizações.
Para habilitar o uso do GPS, é necessário incluir no arquivo de configuração
(AndroidManifest.xml) a seguinte instruções:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Essas permissões irão possibilitar ao aplicativo o acesso ao GPS através da
internet caso exista alguma conexão ativa, onde, será feito o cálculo do
38
posicionamento mais rápido através do serviço AGPS. Com as últimas posições irá
possibilitar o aplicativo triangular a posição do aparelho, utilizando-se de torres de
transmissões de telefonia celular ou WI-FI.
6.3.2 Acessando a Web Service
O Android não tem nenhuma API nativa para se comunicar com Web Services,
porém, é possível usar outras bibliotecas que tornam essa comunicação possível
(LECHETA,2011).
O framework ksop2 é uma solução desenvolvida para dispositivos moveis
com menos capacidade de processamento, fazendo com que eles sejam capazes de
se comunicarem com web Services (LECHETA,2011).
Através do ksop2 é possivel criar uma classe que irá conter toda a inteligência
para acessar um WebService assim a manutenção e monitoração das requisições
ficam centralizadas em uma classe só.
6.3.3 Bloqueando o Celular
Para bloquear alterar senha, é necessário incluir no arquivo de configuração
do aplicativo a seguinte informação:
<uses-permission android:permission="android.permission.BIND_DEVICE_ADMIN""></usespermission>
39
Essa informação indicará para o sistema Android que aplicação deverá
acessar as informações restritas do aparelho, será mostrada uma tela (figura 11),
quando a aplicação for executada, esta tela está informando ao usuário que o
aplicativo poderá alterar algumas informações administrativas do aparelho.
Figura 11 – Tela que permite o usuário configurar senhas de acesso. Fonte: Grupo (2011).
Após o usuário conceder à aplicação os acessos das informações
administrativas do aparelho, o aplicativo poderá trocar a senha, bloquear o celular e
apagar todas as informações do celular.
40
7 DESENVOLVIMENTO DO APLICATIVO
7.1 Arquitetura do Aplicativo
Arquitetura do projeto foi dividido em 5 partes:
Project.br: contém toda parte do serviço que será invocado quando o GPS do
aparelho captar alguma mudança no posicionamento.
Project.br.Admin: contém todos os comandos para trocar a senha, bloquear o
aparelho, apagar os dados do celular e também exibir a mensagem configurada pelo
usuário na parte Web.
Project.br.File: contém os métodos para tratar (criar, alterar, e excluir) o
arquivo que contém as informações do usuário e suas localizações.
Project.br.Music: parte do projeto que é encarregado de tocar a música, para
facilitar a sua localização.
Project.br.WebService: parte do projeto que trata da comunicação do
aparelho com o WebService.
7.2 Engenharia de software
Para um melhor desenvolvimento, será realizada a documentação dos
requisitos funcionais, não funcionais, e diagramas UML do Software Localizador de
Celulares.
7.2.1 Levantamento de Requisitos
Com a finalidade de localizar um celular perdido, ou até mesmo roubado, será
desenvolvido um sistema capaz de localizar o mesmo, via GPS, ou seja, no aparelho
será instalado o software, que enviará suas posições para servidor, que será
possível posteriormente consultar através de uma página na Web.
A cada intervalo de tempo o sistema irá gravar a posição atual (latitude x
longitude) e data da captura em um arquivo texto no aparelho e depois irar enviar
para o serviço na internet. Caso o celular não possua conexão no momento da
gravação, a posição será enviada na próxima vez que o celular estabelecer uma
41
conexão com a internet, serão enviada as 10 últimas posições ao banco de dados
via WebService.
Será possível entrar na página Web, com usuário e senha e realizar a
consulta do celular requisitado. Além da consulta, será possível acionar o bloqueio, o
player de música do aparelho, enviar uma mensagem para o mesmo, trocar a senha,
e também apagar os dados do aparelho. As posições gravadas serão exibidas em
um mapa.
Com base nas informações acima, são enumeradas as seguintes relações de
requisitos funcionais (RF) e não funcionais (RNF):
RF1: O Aplicativo instalado no Android irá gravar em um arquivo de texto, a
posição atual do celular. Estas posições serão obtidas através da comunicação com
o GPS, e os dados gravados da localização serão: latitude e longitude e data da
captura da posição.
RF2: O Aplicativo instalado no Android irá enviar os dados contidos no
arquivo de texto via Web Service para ser realizada a leitura dos caracteres
recebidos (latitude x longitude) e armazená-las no banco de dados (data, hora e
usuário).
RF3: O usuário poderá visualizar em uma página web as localizações e exibila em um mapa.
RF4: O usuário poderá configurar as ações de bloqueio, ativar player de
música, enviar mensagem ao aparelho celular, e apagar os dados da memória do
aparelho.
RNF1: Não comprometer a carga da bateria do celular, já que o uso do GPS
aumenta o recurso de energia.
RNF2: O tempo de resposta das ações efetuadas pela página web na
aplicação instalado no Android deverá ser baixo, pois são ações de alta relevância.
RNF3: O banco de dados no qual será gravado o posicionamento é o MySql.
Com os requisitos identificados, é necessário estipular as regras de negócio
(RN) do sistema, que será descrita abaixo:
RN1: A atualização do posicionamento será gravada em um arquivo de texto
(.TXT) e haverá um contador de tempo pré-configurado para habilitar esta gravação.
Caso o arquivo já exista, apenas será inserida a nova posição.
42
RN2: Caso o usuário configure alguma ação (bloquear, enviar texto, tocar
musica, alterar senha), na próxima vez que o aplicativo atualizar o posicionamento, o
aplicativo receberá a informação de que ação tomar.
RN3: Os usuários cadastrados, apenas realizarão a consultas das posições
por meio de identificação.
A figura 12, explica de uma forma ampla como será todo o processo para a
localização do aparelho.
Figura 12 – Fluxo do Aplicativo. Fonte: Grupo (2011).
43
7.2.2 Diagrama de casos de uso.
A figura 13 ilustra o método em que será atualizado o posicionamento no
banco de dados, e como será feita a consulta e as ações do usuário pela página
web. Os principais casos de uso estão especificados na cor amarela e, serão
descritos no próximo tópico do trabalho.
Figura 13 - Diagrama de caso de uso. Fonte: Grupo (2011)
7.2.3 Principais casos e uso.
Serão enumerados os principais casos de uso do aplicativo desenvolvido
(UC5, UC6 e UC9), os demais estarão nos anexos deste trabalho.
7.2.3.1 Caso de Uso: UC5 - Atualizar Posicionamento
Sumário: O posicionamento do celular precisará ser alocado, para mais tarde ser
atualizado no banco de dados via Web Service, que guardará as 20 últimas
posições.
Atores: Aplicação Android.
Pré-condições: O aplicativo deverá estar instalado e configurado no aparelho celular.
44
Descrição:
1- O aplicativo Android verifica o Timer configurado.
2- O aplicativo Android estabelece conexão com o WebService.
3- Caso exista uma conexão ativa com o WebService.
4- O aplicativo enviará o arquivo de texto onde são alocadas as posições.
5- Depois de enviado, o arquivo é deletado.
Fluxo alternativo:
1- No item 2 do fluxo principal, caso o aplicativo não possua uma conexão
com o WebService, é verificado se o arquivo de texto já está criado.
2- Se o arquivo já está criado, o aplicativo se comunicará com o GPS,
visando obter o posicionamento atual.
3- Uma nova linha é inserida no arquivo, com a nova posição.
4- No item 2 do fluxo alternativo, caso o arquivo de texto não exista, é
iniciado o UC6.
Exceção:
1- Caso o usuário não possua o aplicativo instalado no celular, a
mensagem: "não foi possível localizar o aparelho celular, verifique se o
aplicativo foi instalado e configurado corretamente".
45
Diagrama de Atividade UC5:
A figura 14 mostra as etapas e o funcionamento da atualização do
posicionamento do aparelho. O arquivo de texto é gravado e enviado via
WebService ao banco de dados para ser importado e gravado nas tabelas do
sistema.
Figura 14 - Diagrama de atividade UC05. Fonte: Grupo (2011).
46
Diagrama de Sequência UC5:
A figura 15 mostra a forma que o ator “Aplicativo Android” se comunicará e
quais ações serão realizadas. Caso haja uma conexão com a internet, os dados
serão enviados via Web Service, caso contrário, apenas será atualizada a posição
no arquivo de texto no próprio aparelho.
Figura 15 - Diagrama de sequência UC05. Fonte: Grupo (2011).
7.2.3.2 Caso de Uso: UC6 - Gravar posicionamento
Sumário: Este caso de uso inicia-se quando a posição atual do aparelho celular é
gravada.
Atores: Aplicação Android.
Pré-condições: O aplicativo deverá existir no celular.
Descrições:
1) Será feita uma chamada ao GPS nativo do Android, consultando o
posicionamento atual (Latitude x Longitude).
2) As informações obtidas do GPS são gravadas em um arquivo texto no
próprio aparelho.
Exceção:
1) Caso o usuário não possua o aplicativo instalado no celular, a mensagem:
"não foi possível localizar o aparelho celular, verifique se o aplicativo foi
instalado e configurado corretamente".
47
Diagrama de Atividade UC6:
A figura 16 mostra como será gravado os dados em arquivo de texto. Ação
para gravar o arquivo de texto é chamada pelo fluxo de atualização, que envia o
arquivo de texto pela internet via WebService.
Figura 16 - Diagrama de atividade UC06. Fonte: Grupo (2011).
48
Diagrama de Sequência UC6:
A figura 17 mostra o Fluxo onde o aplicativo se comunica com o GPS e grava
os dados no arquivo de texto no aparelho celular.
Figura 17 - Diagrama de sequência UC06. Fonte: Grupo (2011).
7.2.3.3 Caso de Uso: UC9 - Mostrar Posicionamento do aparelho celular
Sumário: Este caso de uso inicia-se quando, o usuário depois de realizar o login no
sistema web (UC1), consulta à localização atual do celular.
Atores: Usuário.
Pré-condições: O usuário terá que estar logado na página web (UC1) para realizar a
consulta da localização do aparelho celular.
Descrição:
1- Será realizada uma consulta no banco de dados, com as últimas posições
gravadas.
2- Caso existam posições anteriores.
3- É mostrada a última posição guardada pelo banco de dados em um mapa.
Exceção:
1- Caso o item 2 não retorne posições anteriores será enviada a
mensagem: "Não existem últimas posições válidas ".
49
Diagrama de atividade UC9:
A figura 18 mostra o processo de consulta que o usuário realizará no sistema
através de uma página web, onde, no mapa será mostrado o posicionamento do
aparelho celular através da página web.
Figura 18 - Diagrama de atividade UC09. Fonte: Grupo (2011)
50
Diagrama de Sequência UC9:
A figura 19 exibe o vínculo do ator com suas ações de consulta, que irá
mostrar quais serão os resultados da localização do aparelho.
Figura 19 - Diagrama de sequência UC09. Fonte: Grupo (2011)
7.3 Principais desafios
Por se tratar de um Software voltado para um aplicativo móvel, a
comunicação com servidor deve ser rápida e menos onerosa, ou seja, os pacotes de
dados trafegados na comunicação entre o aparelho e o servidor devem ser os mais
compactos possíveis.
Para o envio de dados foi feito o estudado do XML (Extensible Markup
Language) e do envio por simples String.
O XML por se tratar de uma linguagem de marcação de uma simples
informação de um caractere, mas, precisaria ser no mínimo 8 (oito) caracteres, por
exemplo: <a>a</a>. Ao passo que ao enviar a informação por String é um gasto de
apenas um caractere ‘a’.
51
Para informar a posição, a String seguirá o Layout informado na tabela 5:
Tabela 5 Layout de configuração. Fonte: Grupo (2011).
Campo Pos_Inicio Tamanho
Login
1
20
Senha
21
19
Qtde_pos
41
2
Latitude
43
10
Longitude
53
10
Data
63
10
A informação de “latitude”, “longitude” e “data” da posição irá repetir quantas vezes à
informação “Qtde_pos” informar, por exemplo: 02 vezes, as informações
continuariam depois da última informação, conforma a tabela 6, e assim
sucessivamente.
Tabela 6 Sequência das posições. Fonte: Grupo (2011).
Latitude
Longitude
Data
73
83
93
10
10
10
Através desse método a economia nos dados trafegados é grande, uma vez
que um simples XML teria o seguinte formato:
<a>
<u>teste</u>
<s> teste </s>
<x>
<a>-012.000</a>
<o>+012.000</o>
<d>21/01/2011 14:00:00</d>
<x>
</a>
Esse tipo de informação tem 95 caracteres um pouco menor do que a solução
adotada que tem para enviar 02 posições.
Uma das preocupações de quando se utiliza muitos recursos do aparelho,
como Wi-Fi e GPS, o consumo da bateria é muito alto. Em nosso aplicativo testamos
o consumo e a duração da bateria do aparelho celular, a fim de encontrar a melhor
52
configuração para aplicar no aplicativo, visando o menor consumo de energia. Para
isso foi utilizado um celular HTC Desire HD, utilizados as seguintes configurações de
distância (metros) por tempo (minutos): 5 por 100, 5 por 500, 3 por 100, 3 por 500 e
15 por 100.
Os testes foram realizados durante 3 dias, para cada uma das configurações,
a partir destas configurações foi gerada a seguinte planilha.
Gráfico 1 Testes de consumo da bateria pelo aplicativo, Fonte: Grupo (2011)
Analisando o Gráfico 1, percebe-se que apesar das diferenças das
configurações que foram realizadas, a duração da bateria não teve uma grande
variação de durabilidade, as testes foram realizados com os serviços GPS e Wi-Fi
todo tempo ligados.
Com base nesses dados, conclui-se que, apesar das diferentes configurações
do tempo por distância, o tempo de vida da bateria não teve uma grande variação,
mesmo que estas configurações sejam realizadas diretamente na página web pelo
usuário.
Será apresentada uma informação na tela do aparelho quando for escolhido
um tempo de 15 minutos para atualização da posição do aparelho “Configuração de
15 minutos não recomendado”, uma vez que, se torna inviável esperar 15 minutos
para realizar atualização da posição do parelho quando sair do raio configurado.
53
Será indicada uma configuração com tempo de 3 minutos, pois assim o
aplicativo poderá executar ações conforme configuradas, sendo essas em um curto
espaço de tempo, tornando o aplicativo mais eficaz na localização do aparelho.
54
8 Telas e Resultados
A seguir serão mostradas as telas da interface do aplicativo assim como as
telas de usadas para localizar o celular na parte do cliente.
Ao acessar a pagina na web o usuário terá que fornecer o usuario e senha
(figura 20) para logar no sistema a fim de configurar e visualizar e as posições.
Figura 20: Tela de cadastro do usuário. Fonte: Grupo.
Caso o usuário ainda não tenha cadastro o mesmo deverá fornecer seus
dados na pagina de cadastro (figura 21).
Figura 21: tela de cadastro do usuário. Fonte: Grupo.
Após o acesso usuário poderá acessar a página de configuração e
visualizações das ultimas posições do aparelho (figura 22). Nesta página existe uma
lista de ações que pode ser executado pelo o usuário exemplo: “Bloquear”, “Trocar a
senha”, “Enviar uma Mensagem”, “Apagar Dados” e “Não fazer nada”.
Caso o usuário já tenha instalado o aplicativo no celular e também já tenha
efetuado o envio da localização, serão exibidas as posições enumeradas em ordem
crescente de data no mapa e ao lado do mapa uma tabela com a latitude, longitude
e data e hora que posição que foi capturada pelo aplicativo.
55
Figura 22: Tela de posicionamento e configuração de ações. Fonte: Grupo.
Uma vez o aplicativo instalado no aparelho instalado, será mostrada ao
usuário a figura 23, informará que, para o funcionamento do aparelho deve ser
concedido o perfil de administrador, assim, será possível realizar algumas
funcionalidades como: trocar senha, bloquear o aparelho e apagar as informações
da memória.
Figura 23: Tela para conceder acesso administrativo. Fonte: Grupo.
56
Após o usuário clicar no botão de “Conceder Acesso”, será exibido à figura
24, que informará ao usuário quais as ações o aplicativo poderá executar, com a
permissão concedida, o aplicativo estará pronto para a utilização.
Figura 24: Tela do Android com ações que o aplicativo poderá executar. Fonte: Grupo.
Uma vez o aplicativo instalado, caso não tenha acesso à internet disponível o
aplicativo irá salvar a posição e hora que o aparelho foi rastreado em um arquivo
texto (.txt) e, quando houver conexão com a internet será enviado estas informações
para aplicação web (figura 25).
Figura 25: arquivo de histórico das posições do aparelho. Fonte: Grupo 2011.
57
9 CONCLUSÃO
Neste trabalho foi detalhado o desenvolvimento de um aplicativo para o
sistema operacional Android, juntamente com uma aplicação web, que realiza a
consulta do posicionamento do celular, disponibilizando em um mapa o resultado. O
aplicativo do celular utiliza o GPS nativo do próprio Android, para retornar as
coordenadas (latitude x longitude) do momento. Esta tecnologia foi escolhida porque
o processamento das informações de localização ficará isolado na ponta do cliente
(aplicação Android).
As ações tomadas após a localização, como o bloqueio do celular, serão
instauradas na próxima atualização do aplicativo, porque seu método de atualização
é feito por parâmetros pré-configurados (temporizador e deslocamento), além da
obrigatoriedade da conexão com a internet estar ativa.
O desafio encontrado no desenvolvimento foi encontrar uma maneira de
realizar a atualização dos dados, sem sobrecarregar o uso da bateria do celular.
Durante o desenvolvimento, houve dificuldade em realizar o bloqueio do
aparelho, isso era causado devido a uma configuração do próprio Android, pois em
nossas pesquisas não era possível realizar a chamada sem esse parâmetro estar
configurado.
Os testes foram realizados em um celular, e não somente no emulador de
desenvolvimento, e os resultados estão se mostrando estáveis, porque, o arquivo de
texto onde estão salvas as coordenadas está sendo preenchido conforme a
especificação feita anteriormente.
A parte Web, que recebe as informações para alimentar a base de dados
também se mostrou estável, as posições das informações estão sendo recebidas
conforme especificação.
58
9.1 Trabalhos Futuros
Para trabalhos futuros são propostos três pontos que irão auxiliar na
localização do aparelho e o seu rastreamento em caso de roubo ou perda.
Primeiramente é proposto que seja estudado um modo de que a comunicação
do aplicativo com a página na web que não dependa somente da conexão via
internet. Uma forma seria por envio de mensagem de texto, tanto a serviço web
solicitando quanto do aparelho retornando a posição.
A segunda proposta seria a utilização da câmera frontal, existentes nos
aparelhos mais recentes, para tirar e enviar uma foto toda vez que a pessoa errar a
senha do aparelho, Assim uma vez que o aparelho for furtado, ao tentar desbloquear
o aparelho. Assim uma vez que o aparelho for furtado, ao tentar desbloquear o
aparelho, uma foto será tirada e enviada para um e-mail configurado no site.
A terceira proposta, salvar as últimas dez posições no banco de dados
existente no Android, o SQLite, pois, o banco tem um limite de tamanho. Quando o
celular encontrar uma conexão com a internet o aplicativo iria sincronizar os dados
com o banco disponibilizado em um servidor web, tendo assim o fácil acesso a todas
as posições no Site disponibilizado na web.
59
9 ANEXOS
Este capítulo tem como objetivo, inserir as imagens que não estão
referenciadas no texto principal do trabalho. Desta forma, iremos anexar
documentos que foram desenvolvidos complementam nosso estudo.
Use case: UC1 - Efetua Login
Sumário: Este caso de uso inicia-se quando o usuário acessa o sistema web e se
identifica para obter informações configuradas para seu perfil.
Atores: Usuário.
Pré-condições: O usuário precisa acessar a página web de localização do aparelho
celular.
Descrição:
1- O usuário entra na página web.
1- O usuário é identificado e entra no sistema.
Alternativo:
1- O login é preenchido de forma inválida.
2- A mensagem: “Usuário não encontrado.”, é enviada.
Exceção: O login foi invalidado e o usuário é impossibilitado de realizar a consulta.
60
Use Case: UC2 - Mostra Mensagem
Sumário: Este caso de uso inicia-se quando houver uma requisição para mostrar a
mensagem no aparelho celular.
Atores: Aplicação Android.
Pré-condições: Deverá ocorrer uma solicitação para a aplicação instalada no celular,
exibir uma mensagem vinda do serviço web.
Descrição: 1) A mensagem já enviada do serviço na web é designada, e mostrada
na tela do celular por meio da aplicação no mesmo.
Exceção: Caso o usuário não possua o aplicativo instalado no celular, a mensagem:
"não foi possível localizar o aparelho celular, verifique se o aplicativo foi instalado e
configurado corretamente".
61
Use Case: UC3 - Bloquear Celular
Sumário: Este caso de uso inicia-se quando o usuário que foi logado no sistema, irá
executa o comando "Bloquear Celular", fazendo com que o aparelho seja bloqueado.
Atores: Aplicação Android.
62
Pré-condições: O usuário deverá estar logado no sistema, e deverá ter o aplicativo
que envia as ultimas posições do aparelho celular instalado, com uma conexão web
ativa.
Descrição: 1) O usuário seleciona o botão Bloquear Celular, assim o sistema irá
bloquear o aparelho de celular, desde que exista uma conexão ativa no aparelho.
Fluxo alternativo: Depois de localizar o aparelho, a página mostrará um botão de
bloqueio, caso o usuário deseje bloquear o aparelho.
Exceção: Caso o usuário não possua o aplicativo instalado no celular, a mensagem:
"não foi possível localizar o aparelho celular, verifique se o aplicativo foi instalado e
configurado corretamente". Caso não haja uma conexão ativa no aparelho, será
enviada a mensagem: "sem conexão ativa com o celular".
63
Use Case: UC4 - Emitir uma música no celular
Sumário: Este caso de uso inicia-se quando o usuário que foi logado no sistema, irá
executar o comando "Emitir uma música", fazendo com que o aparelho acione o
player mesmo que esteja bloqueado.
Atores: Aplicação Android.
Pré-condições: O usuário deverá estar logado no sistema, e deverá ter o aplicativo
que envia as ultimas posições do aparelho celular instalado, com uma conexão web
ativa.
Descrição: 1) O usuário seleciona o botão Bloquear Celular, assim o sistema irá
bloquear o aparelho de celular, desde que exista uma conexão ativa no aparelho.
Fluxo alternativo: Depois de localizar o aparelho, a página mostrará um botão: Emitir
uma música, caso o usuário deseje localizar o aparelho de uma forma mais eficaz.
Exceção: Caso o usuário não possua o aplicativo instalado no celular, a mensagem:
"não foi possível localizar o aparelho celular, verifique se o aplicativo foi instalado e
configurado corretamente". Caso não haja uma conexão ativa no aparelho, será
enviada a mensagem: "sem conexão ativa com o celular".
64
Use Case: UC7 - Atualizar Banco.
Sumário: Este caso de uso inicia-se quando, por meio de um tempo configurável, o
Aplicativo Android atualizará com as posições enviadas pela aplicação, às últimas
posições do aparelho celular, via WebService.
65
Atores: Aplicação Android.
Pré-condições: A aplicação Android atualizará no banco de dados instalado em
nosso servidor, via WebService, às últimas posições enviadas pela aplicação no
celular.
Descrição: 1) Através do tempo parametrizado no Aplicativo, serão atualizadas as
últimas posições enviadas pela aplicação no celular.
Exceção: Aplicativo não foi configurado corretamente, e envia a mensagem:
"Não existe uma conexão válida com a aplicação existente no aparelho".
66
Use Case: UC8 - Configurar Retorno
Sumário: Este caso de uso inicia-se quando, o Usuário, configura as ações que
estarão disponíveis futuramente no aplicativo Android.
Atores: Usuário.
Pré-condições: Será preciso ter instalado no celular, o aplicativo Android de
localização de celulares.
Descrição: 1) O usuário define as ações que futuramente realizadas pelo aplicativo
Android:
- Mostrar mensagem,
- Tocar uma música,
- Travar aparelho.
Exceção: Caso não exista o aplicativo instalado no celular, não será possível realizar
a configuração.
67
68
REFERÊNCIAS BIBLIOGRÁFICAS
ANDROID.
Android
Developers,
<http://developer.android.com/reference/android/app/admin/DeviceAdminReceiver.ht
ml>Acesso em: 03 Outubros 2011.
ABLESON, W. F.; SEN, R.; KING, C. Android in Atcion. 2. ed. [S.l.]: Manning
Publications Co., 2011.
ANATEL. DEZEMBRO SOMA MAIS 4,4 MILHÕES DE NOVOS ACESSOS E PAÍS
SUPERA
65
MILHÕES
DE
CELULARES,
2005.
Disponivel
em:
<http://www.anatel.gov.br/Portal/verificaDocumentos/documento.asp?numeroPublica
cao=106091&assuntoPublicacao=Ano%20de%202004%20registra%20recorde%20d
e%2019,2%20milh%F5es%20de%20novos%20acessos%20m%F3veis%20&caminh
oRel=null&filtro=1&documentoPath=biblioteca/>. Acesso em: 14 maio 2011.
ANATEL. Brasil fecha março com 210,5 milhões de acessos móveis 20 de Abril
de
2011,
2011.
Disponivel
em:
<http://www.anatel.gov.br/Portal/exibirPortalPaginaEspecialPesquisa.do?acao=&tipo
ConteudoHtml=1&codNoticia=22522>. Acesso em: 14 maio 2011.
APLE. O sistema operacional mais avançado do mundo, 2011. Disponivel em:
<http://www.apple.com/br/iphone/ios4/>. Acesso em: 04 maio 2011.
APPLE.
Buscar
meu
iPhone,
2011.
Disponivel
<http://itunes.apple.com/br/app/buscar-meu-iphone/id376101648?mt=8>.
em:
Acesso
em: 04 abr. 2011.
FRAGA, R. Amazon quer mercado de Apps do Android, 2011. Disponivel em:
<http://www.techtudo.com.br/platb/google/tag/android/>. Acesso em: 14 maio 2011.
GASPAR, D. Comparativo entre iOS 4, Android 2.2, Symbian 3 e Windows
Phone 7, 2011. Disponivel em: <http://meninbits.blogspot.com/2011/04/comparativoentre-ios-4-android-22.html>. Acesso em: 16 maio 2011.
69
IONESCO, D. Android: 350 mil ativações por dia e 3 bilhões de aplicativos
baixados,
2011.
Disponivel
em:
<http://idgnow.uol.com.br/computacao_pessoal/2011/04/15/android-350-milativacoes-por-dia-e-3-bilhoes-de-aplicativos-baixados/>. Acesso em: 16 maio 2011.
JÚNIOR, E. G. S. Desenvolvendo para iOS em linux - Presentation Transcript,
2011. Disponivel em: <http://www.slideshare.net/erisvaldojunior/desenvolvendo-paraios-em-linux>. Acesso em: 04 maio 2011.
JUSTIÇA, M. D.; SEGURANÇA, P. S. N. D. Bloqueio de Aparelho Celulares furtados
ou roubados. MINISTÉRIO PÚBLICO DE SÃO PAULO, 2011. Disponivel em:
<http://www.mp.sp.gov.br/portal/page/portal/cao_consumidor/doutrinas/nota_tecnica
_bloqueio_celular%5B1%5D.pdf>. Acesso em: 14 maio 2011.
KUHNEN, A. PROTÓTIPO DE UMA APLICAÇÃO LBS UTILIZANDO GPS, 2003.
Disponivel
em:
<http://www.inf.furb.br/~pericas/orientacoes/WAPLBS2003.pdf>>.
Acesso em: 04 maio 2011.
LECHETA, R. R. Google Android Aprenda a crirar aplicações para dispositivos
móveis com Android SDK. 2. ed. São Paulo: Editora Novatec Ltda, 2011.
MORIMOTO,
C.
E.
2.5G,
2005.
Disponivel
em:
<http://www.hardware.com.br/termos/2.5g>. Acesso em: 03 maio 2011.
MORIMOTO,
Carlos
E.
WAP,
2005.
Disponível
em:
<
http://www.hardware.com.br/termos/wap >. Acesso em 08 junho 2011.
OS, S. Symbian OS, 2011. Disponivel em: <http://www.symbianbrasil.com/Sobre/>.
Acesso em: 16 maio 2011.
PACÍFICO,
G.
revolução
na
telefonia
celular,
2009.
Disponivel
em:
<http://imasters.com.br/artigo/14067/tecnologia/tecnologia_3g_revolucao_na_telefoni
a_celular/>. Acesso em: 03 maio 2011.
70
PEREIRA, H. M. D. O. Desenvolvimento de Aplicações Android para Mapas de
Múltiplas
Fontes,
2010.
Disponivel
em:
<http://www.inf.ufg.br/~cc080128/iniciacao/pfc-HeitorMenezes.pdf>. Acesso em: 19
mar. 2011.
PERIODIC,
P.
Welcome
to
Phonelocator
periodic.
Disponivel
em:
<http://periodic.phonelocator.mobi/>. Acesso em: 04 maio 2011.
TOOCHAIN, Desenvolvimento para iPhone: Isntalando Toochain, 2008. Disponivel
em:
<http://chester.blog.br/archives/2008/05/desenvolvimento_para_iphone_instalando_o
_sdk.html>. Acesso em: 04 maio 2011.
PUNTALO.
How
accurate
is
puntalo,
2010.
Disponivel
em:
<http://puntalo.com/help>. Acesso em: 04 maio 2011.
GLYMPSE. About Glympse, 2010. Disponivel em: < http://www.glympse.com/about
>. Acesso em: 08 junho 2011.
KOR.IM.PHONELOCATOR. kor.im Phone Locator, 2011. Disponivel em: <
http://pt.appbrain.com/app/kor-im-phonelocator/com.roysolberg.android.phonelocator>. Acesso em: 08 junho 2011.
QUADROS, A.; SCHMID, U. UMTS - Universal Mobile Telecommunication
System,
2010.
Disponivel
em:
<http://www.gta.ufrj.br/~rezende/cursos/eel879/trabalhos/umts/historico.html>.
Acesso em: 04 maio 2011.
RABELL, R. R. Android: um novo paradigma de desenvolvimento móvel, 2011.
Disponivel em: <http://www.cesar.org.br/site/files/file/WM18_Android.pdf>. Acesso
em: 04 maio 2011.
71
RANDOLPH, N.; FAIRBAIRN, C. Professional Windows Phone 7 Application
Development: Building Applications and Games Using Visual Studio, Silverlight, and
XNA (Wrox Programmer to Programmer). [S.l.]: Wiley Publishing, 2010.
RESEARCH, A. Mercado de dispositivos móveis longe da consolidação, 2008.
Disponivel
em:
<http://www.e-
thesis.inf.br/index.php?option=com_content&task=view&id=3764&Itemid=52>.
Acesso em: 03 maio 2011.
SENGUPTA, S. Windows Phone 7 Architecture Deep Dive, 2010. Disponivel em:
<http://www.msteched.com/2010/NorthAmerica/WPH313>. Acesso em: 04 maio
2011.
SILVA,
R.
O
que
é
a
tecnologia
4G?,
2011.
Disponivel
em:
<http://www.sempretops.com/tecnologia/o-que-e-a-tecnologia-4g>. Acesso em: 03
maio 2011.
SYMBIAN.
SYMBIAN.
FORUM
WIKI.
Disponivel
em:
<http://wiki.forum.nokia.com/index.php/Symbian_OS>. Acesso em: 14 maio 2011.
TABORDA, C. iOS vs Android. Quem vence a briga?, 2011. Disponivel em:
<http://info.abril.com.br/noticias/blogs/droids/2010/11/30/ios-vs-android-quem-vencea-briga/>. Acesso em: 03 abr. 2011.
WATSON, B. A Year Later–The Windows Phone 7 Numbers That Matter, 2011.
Disponivel
em:
<http://windowsteamblog.com/windows_phone/b/wpdev/archive/2011/03/30/a-yearlater-the-windows-phone-7-numbers-that-matter.aspx>. Acesso em: 03 abr. 2011.
RAMALHO, J. A. Conheça um aplicativo localizador para celular, 2010.
Disponivel
em:
http://www1.folha.uol.com.br/folha/colunas/canalaberto/ult3810u731916.shtml>.
Acesso em: 08 jun. 2011.
<
Download

Software Localizador de Aparelhos Celulares Android