Introdução à Programação Android:
LocationManager
Guilherme Antonio Borges guilhermeborges.pf@gmail.com
Apresentação dos Exercícios
2
1. Criação de uma tela menu simples que acessa através de um evento em botão a um formulário que exibe o nome de quem escrever nele e
apertar o botão. Basear-se no exemplo.
2. Exercício teórico: a) Que tipo de fontes de localização um dispositivo pode obter
utilizando o smartphone? Em que aplicações seria útil obter a localização do usuário? Cite exemplos.
3. Fazer uma tela extra onde o aluno deverá
adicionar um LocationManager que realizará a leitura de localização e mostrar na tela a nova localização.
Sumário
Apresentação dos exercícios
Introdução sobre localização
Biblioteca LocationManager do Android
Links
4
Códigos fonte exemplo da apresentação da aula passada:
https://drive.google.com/file/d/0B746pjy4jQVAV0o3aj
Geo-Localização
Geo-localização é um nome genérico referente a localização de dispositivos que possuem a
capacidade de ser localizado geograficamente. Um dispositivo com uma API de geo-localização
pode ser localizado por um ou mais tipos de tecnologias, tais como:
GPS, AGPS, Triangulação de Antenas telefônicas,
Internet, Rede, Radio Frequência, Proximidade e Wi-Fi.
Localização em Android
Toda a API de localização do Android é acessada pelo pacote android.location;
A classe LocationManager que fornece a API responsável por determinar a localização geográfica;
Mas para utilizá-la é necessário escolher um provedor, na maioria dos casos existem 3:
GPS_PROVIDER, NETWORK_PROVIDER e PASSIVE_PROVIDER.
Provedores de localização
Dependendo do provedor a precisão e o consumo de bateria mudam
Recebendo Localizações
A classe responsável por receber as atualizações de localização chama-se
LocationListener.
Através do método
onLocationChanged(Location
location)
recebe a localização atualizadaatravés do objeto Location, o qual possui informações de: Latitude Longitude Altitude Accuracy Provider ...
Exemplo de Código
Manipulando Atualizações pelo
LocationManager
Método responsável por iniciar atualizações: void requestLocationUpdates(
String provider, long minTime,
float minDistance,
LocationListener listener)
Método responsável por parar atualizações: removeUpdates(LocationListener listener)
OBS: A combinação do uso desses dois métodos pode ajudar a economizar bateria.
Permissão de Uso
No Arquivo AndroidManifest.xml
Permissões de Uso
Cada permissão possibilita o uso de provedores de serviço diferentes
Fonte:
http://www.mobiltec.com.br/blog/index.php/tutorial-android-geolocalizacao/
Exercícios
Exercício 1:
1. Criação de uma tela menu simples que acessa através de um evento em botão a um formulário que exibe o nome de quem escrever nele e
apertar o botão. Basear-se no exemplo.
Menu Botão: Abrir Form. Botão: Sair Formulário Botão: Voltar Botão: Exibir nome EditText Digite um nome: startActivity
Exercício 2
16
A) Que tipo de fontes de localização um
dispositivo pode obter utilizando o smartphone? B) Em que aplicações seria útil obter a
Exercício 3
Fazer uma tela extra onde o aluno deverá adicionar um
LocationManager que realizará a leitura de localização e mostrar na tela a nova localização.
Para emular as localizações utilize o emulador do
android. Para utilizar o Emulator Control é necessário acessar a opção no Eclipse IDE selecionando Window > Show View > Other > Android > Emulator Control. Após aparecem 3 opções de adicionar localizações, utilizar a primeira:
1. Enviando Manualmente coordenadas individuais de latitude
e longitude;
2. Usando um arquivo em formato GPX (GPS Exchange Format)
descrevendo a rota do dispositivo, enviando para o emulador sequencialmente;
3. Ou usar um arquivo em formato KML (Keyhole Markup
Language) descrevendo marcas individuais de lugares, enviando-os sequencialmente para o dispositivo.
Exercício 3: Tela de Localização
Nenhuma Informação
Disponível Coordenada em POA
Exercício 3:
Dica 1: utilize o menu do exercício anterior e coloque um botão extra.
Dica 2: Tente adicionar um botão voltar.
Menu Botão: Abrir Form. Botão: Sair startActivity Botão: Localização Botão: Voltar Localização
Proposta de Trabalho Final
Proposta de Trabalho Final
O artigo Improving Energy Efficiency of Location
Sensing on Smartphones possui 4 pequenos
algoritmos para diminuir o consumo de bateria
diminuindo a quantidade de atualizações do GPS. A partir desse artigo o aluno tem duas opções:
1. Impementar os 4 algoritmos em Android, testar e
apresentar o funcionamento deles em aula, justificando o porque deles serem assim.
2. Implementar os 4 algoritmos em Android e executar os mesmos experimentos apresentando em aula como aplicou a metodologia e dissertando por possíveis diferenças nos resultados.
Link do artigo:
http://www.deutsche-telekom-laboratories.de/~kyuhan/papers/MobiSys10Kim.pdf
Introdução à Programação Android:
LocationManager
Guilherme Antonio Borges guilhermeborges.pf@gmail.com