Documento1

Páginas: 9 (2074 palabras) Publicado: 15 de abril de 2011
Curso PUDE
“Desarrollo de Aplicaciones Móviles en Android”

Ejercicio Intermedio D: Localización por GPS
A. Descripción
En este ejercicio, introduciremos cómo funcionan los servicios de localización en Android y explicaremos cómo conseguir que la API deAndroid nos indique nuestraposición GPS. Para ello crearemos una aplicación muy sencilla que activa y desactiva el receptor GPS deldispositivo Android, devolviendo la posición al usuario.
En Android, tenemos dos paquetes de servicios relacionados con la geolocalización, el mapa y la posición. Veremos cómo obtener nuestra posición de forma sencilla y rápida.
Hay dos posibles fuentes de información sobre nuestra posición, el receptor GPS del dispositivo o la red, y por red nos referimos a la red que esté utilizando el dispositivopara conectarse a internet. Así, el dispositivo nos puede devolver nuestra posición en base a qué antenas de telefonía móvil está utilizando, triangulando la posición, o si estamos utilizando un hotspotWi-Fi cuya posición es conocida, obtenerla. En cualquier caso, cada método tiene sus ventajas y sus desventajas, y aunque en un principio el GPS siempre parece el mejor, no suele funcionar bien eninteriores, y un uso excesivo drena mucho la batería, cosa que como programadores debemos siempre tener en cuenta, y asegurarnos de que nuestras aplicaciones cuiden de la batería lo máximo posible.
B. Implementación
B-1. Interfaz
Para empezar, debemos crear un nuevo proyecto NOTA: MAPS GOOGLE (al final del enunciado) y añadirle al Layout dos nuevos TextView, uno para mostrar la longitud yotro para la latitud. Justo debajo, añadiremos un ToggleButton, que es un botón con una peculiaridad: posee dos estados. Puede estar activado (el método isChecked() retorna true) o desactivado (isChecked() retorna false). Lo utilizaremos para activar y desactivar el GPS. Como el ToggleButton tiene dos estados, puede llevar dos etiquetas distintas, una para cada estado. El atributo para la etiquetacuando está desactivado es textOff y para cuando está activado textOn. Naturalmente, a los dos TextView y al ToggleButton debemos asignarles una ID.
Ahora pasamos a la actividad. Empezamos añadiendo un método privado llamado initConfig() al que llamaremos en el constructor. Luego añadimos tres variables privadas a la actividad, dos TextView y un ToggleButton, y añadimos el código necesario eninitConfig() para que estas variables hagan referencia a las vistas del main.xml.
B-2. La API de Localización
Antes de poder escribir código en el que solicitamos información al sistema operativo de nuestra posición (lo cual requiere activar las funciones de GPS), necesitamos que nuestra aplicación tenga los permisos necesarios, o Android nos cerrará la aplicación. Esto lo hacemos acudiendo almanifest, y añadiendo estas dos líneas al final, justo antes de que se cierre el tagmanifest:
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission><uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> |

Estos permisos nos permiten obtener información directa del chip GPS (ACCESS_FINE_LOCATION) o dela red (ACCESS_COARSE_LOCATION ). A partir de ahora todo el código es Java, así que volvemos a nuestra única actividad, y le añadimos éstas variables:
privateLocationManagerlocMgr;privateLocationListeneronLocationChange; |

La primera variable, de tipo LocationManager, es la que nos permite tener acceso a objetos de la clase Location, que son los que nos darán las coordenadas de longitud ylatitud que queremos. Como sabemos, la API de Android se basa mucho en el patrón de diseño Observador, y esto también se extiende a la API de localización. Lo que queremos mostrar en nuestra aplicación es siempre la última posición que obtiene el dispositivo a través del receptor, por lo que tenemos que registrarnos como observador, y eso lo hacemos a través del LocationListener.
Volvamos al...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Documento1
  • Documento1
  • Documento1
  • Documento1
  • Documento1
  • Documento1
  • Documento1
  • Documento1

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS