Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Conclusão
 
 
Acadêmico(a): Cesar Augusto Kuehl
Título: Protótipo de Sistema Móvel na Plataforma Android para Compartilhamento de Arquitetura e Mensagens entre Dispositivos baseado em Proximidade Geográfica
 
Conclusão:
O presente trabalho apresenta três aplicações trabalhando em conjunto para prover uma solução no cenário de comunicação e troca de arquivos entre usuários geograficamente próximos. O foco principal se deu no aplicativo cliente, desenvolvido na plataforma Android, onde foi analisada uma forma eficiente de comunicação com as outras aplicações do sistema.
A comunicação direta entre os aplicativos cliente seria abordada inicialmente, no entanto, foi encontrada uma limitação quanto a este tipo de conexão quando o dispositivo está conectado à Internet pelas tecnologias de telefonia móvel.
Optou-se então por utilizar um webservice com a tecnologia SOAP para realizar a recepção das demandas dos aplicativos clientes e realizar a comunicação entre eles, desta forma os requisitos do trabalho puderam ser atendidos. Para conectar-se a este webservice, foi utilizado uma biblioteca externa, propícia para este cenário, a kSOAP2. Esta biblioteca mostrou-se em alguns momentos ineficaz para a realização de algumas tarefas, principalmente aquelas que envolviam a transmissão de tipos complexos da linguagem Java. Nestes casos foi necessário utilizar uma classe wrapper no aplicativo webservice para empacotar os objetos e então realizar a separação destes dados na aplicação cliente. Este processo poderia ser evitado caso a biblioteca estivesse preparada para tipos complexos.
Outro ponto observado durante os testes foi a imprecisão dos dados de geolocalização do usuário quando obtidos através de torres de telefonia. Para contornar este problema foram priorizados os dados de geolocalização obtidos através de satélites GPS. No entanto, nas situações em que é necessário depender somente de dados de torres de telefonia a aplicação pode apresentar uma imprecisão no cálculo de distância entre os usuários, o que se caracteriza como uma limitação da aplicação.
Outra limitação presente na aplicação é a impossibilidade de realizar o download de um arquivo compartilhado por um usuário caso este não esteja autenticado no sistema e dentro da distância limite especificada, mesmo os arquivos estando no servidor da aplicação webservice e não dependendo desta autenticação para serem obtidos.
Para calcular a distância entre dois usuários foi utilizado a formula matemática de Haversine, responsável por calcular a distância entre dois pontos sobre uma esfera. Foi optado por usar esta formula por apresentar uma informação mais precisa do que, por exemplo, o teorema de Pitágoras que é indicado para o cálculo da distância entre dois pontos em um plano. No entanto, a formula de Haversine prevê que a esfera onde os pontos estão sendo calculados seja perfeita, o que não é o caso do planeta Terra, portanto ainda podem ocorrer pequenos erros na distância obtida, dependendo de onde o usuário esteja no planeta. Para diminuir este erro foi calculada a média do raio da circunferência do planeta e utilizado na formula como valor constante.
Por fim, a plataforma Android mostrou-se bastante ampla e flexível, pois forneceu todos os artefatos necessários para a realização dos requisitos deste trabalho, sendo necessária somente a integração de uma biblioteca externa para a comunicação com webservices, a qual foi realizada facilmente através da tecnologia de extensão já oferecida pela tecnologia Java. A integração do SDK do Android ao ambiente de desenvolvimento Eclipse cooperou fortemente na depuração da codificação e na realização de testes.