LocationClient vs LocationManager

¿Cuál es la diferencia entre LocationClient y LocationManager .

¿Cuáles son los pros y los contras entre ellos (como la batería, la precisión)?

¿Cuál es mejor usar?

Location Manager se introdujo en Android SDK y se puede utilizar como una característica de android.

Location Client es parte del SDK de Google Play y se presenta en el reciente Google IO 2013.

Uno puede entender que puesto que el cliente de la localización es el más último, es más eficiente en conseguir la localización con la energía mínima (drenaje de la batería) con una mayor exactitud.

UPDATE: LocationClient está obsoleto. Tienes que usar GoogleApiClient . Un ejemplo de ello se puede encontrar aquí .

El equipo de servicios de Google Play ha limpiado su código y ha movido la funcionalidad LocationClient a GoogleApiClient.

Tutorial para el mismo está disponible en http://developer.android.com/training/location/retrieve-current.html

En el siguiente enlace puede encontrar IO hablar sobre este tema http://www.youtube.com/watch?v=Bte_GHuxUGc

He estado desarrollando una aplicación basada en la ubicación en android y en serio no recomiendo usar el CLIENTE LOCATION en cualquier caso. Razones :

  1. El comportamiento de actualización de la ubicación es muy anormal y no funcionará como esperas. Es decir, las actualizaciones de ubicación quedan atascadas al cambiar de redes. (Sigue dándole alguna ubicación antigua)

  2. El cliente de ubicación no funcionará en las versiones Android modificadas del sistema operativo Android, ya que requiere servicios de Google Play.

Con mi experiencia, el Cliente de ubicación podría ser bueno en la batería del teléfono, pero no será bueno con darle actualizaciones oportunas y precisas de la ubicación.

Recomiendo buen viejo gerente de ubicación ya que no encontrar el cliente de ubicación confiable en todo.

PS: No hay punto de ahorrar batería si ni siquiera está recibiendo su ubicación actual en una aplicación basada en ubicación.

EDIT: si conoce la implementación de LocationManager y LocationClient (ambos están disponibles en la documentación), puede crear su propio contenedor de tipo LocationClient (con callbacks y otras cosas), que funcionará en LocationManager pero con propiedades personalizables ajustables.

EDIT 2:

Por favor, encuentre la clase de Wrapper de LocationManager aquí, que proporciona actualizaciones de ubicación oportunas:

https://github.com/rahulsh12/LocationManagerWrapper

He trabajado en una aplicación de seguimiento y mi experiencia es que LocationManager es mejor que LocationClient. LocationClient no proporciona ninguna forma de especificar que desea que las actualizaciones de localización sólo se realicen desde el GPS. Todo lo que permite es especificar "alta precisión". Esto funciona para la mayor parte, pero de vez en cuando se obtiene una actualización de la ubicación que está a cientos de metros de distancia pero con una precisión especificada de unos pocos metros. No hay manera de saber que tienes una muestra inutilizable. Con LocationManager si especifica GPS_PROVIDER, puede estar seguro de que nunca va a obtener muestras excesivamente imprecisas. Trabajando bien para nosotros.

Viene de alguien que cambió a Google Play Services hace un tiempo, puedo darte algunas experiencias:

Tengo una aplicación, alrededor de 2,5 años de edad, que utiliza servicios de localización extensivamente. Desde el principio, por supuesto, hemos utilizado el LocationManager ya que eso es lo que estaba disponible en la plataforma Android.

Tuvimos una muy mala experiencia con Servicios de ubicación en Android en comparación con IOS. Era buggy, no fiable, y dio localizaciones menos precisas que nuestra aplicación IOS, además de que drenó más batería. Fue un arrastre.

Por lo tanto, cuando Google dio a conocer la nueva API en junio este verano, saltamos a ella. Es mucho mejor. Un par de cosas:

  1. Es más rápido y más confiable.

  2. Es menos buggy. Como ejemplo, en la API antigua a veces podíamos obtener una corrección "antigua" con una nueva marca de tiempo. Esto nunca sucede más. Hay más, pero sería un post aún más largo.

  3. Sin duda, drena menos batería. Por ejemplo, cuando tenías una vista de mapa abierta, el GPS funcionaba todo el tiempo y el icono de GPS era visible. Este no es el caso con el nuevo. Esto hizo que los usuarios se preguntaran qué estaba pasando. Esto no es tan grande como un problema.

Por lo tanto, cuando se trata de la salida de la ubicación y el trabajo, todo es mejor. Pero hay algunas desventajas:

  1. Debe tener instalados Google Play Services, lo que significa que no funcionará en modelos de teléfonos "no aprobados por google" y, en algunos casos, tendrá que indicar a los usuarios que deben instalarlo.

  2. La propia API es más compleja IMO, en parte debido al punto 1. Además de las devoluciones "regulares", es decir, esperando ajustes de ubicación, etc. Ahora tiene un proceso que toma parte antes de que pueda empezar donde debe comprobar que playservices Está disponible, y "conectar" al cliente de ubicación. Este es un código extra y un poco más complejo de entender. Más condiciones defectuosas a tener en cuenta en el código también (si puede ser molestado …)

  3. Los servicios de Google Play en sí requieren al menos 2,2, por lo que no funcionará para los dispositivos más antiguos que eso. Tuvimos que decirle a algunos clientes que tenían que actualizar …

Espero que esto ayude.

  • ¿Cómo determinar la ubicación actual de un dispositivo Android, independientemente de la configuración de la ubicación del usuario?
  • Buscar origen de ubicación mediante Fused Location Provider
  • Error getFromLocationName, Servicio no disponible. Han estado trabajando, se detuvo
  • Cómo encontrar la estación de policía más cercana a un punto geográfico
  • Android: Cómo inicializar una variable de tipo "Ubicación" (que no sea igual a null)
  • Cómo mostrar mi ubicación en Google Maps para Android API v2
  • ¿Google ofrece una API que puedo usar para obtener la ubicación de mi teléfono?
  • ¿Dónde estoy? - Obtener país
  • Cómo determinar la ubicación del dispositivo en Android mediante la dirección IP
  • Geolocalización de webview de android
  • Cómo encontrar la distancia entre dos geopuntos?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.