¿Location manager Android? Experiencias – android mysql android-studio

Pregunta:


He desarrollado una aplicación Gps que envía información a Mysql cada 10 seg atraves de locationmanager. ¿Según su experiencia hasta cuanto es posible disminuir este tiempo?

Preguntado por: David Peña

Jorgesys

Interesante pregunta, al usar LocationManager tienes dos variables importantes que son minDistance que es el mínimo intervalo en el cual se obtienen las notificaciones y minTime que es el mínimo intervalo de tiempo para las notificaciones.

Este es un ejemplo, defino lecturas cada 10 minutos (60,000 milisegundos) y cada 10 metros:

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 10, this.locationListener);

Como optimizar, depende del requerimiento de tu aplicación, debes tomar en cuenta que si requieres de más muestras, o sea menos distancia y menos tiempo para obtener las lecturas, el consumo de batería es indirectamente proporcional.

Te recomiendo revisar:
Location Strategies. (ingles).

Es importante que ahora implementes FusedLocationProviderApi en lugar de LocationManager, ya que esta clase optimizada para esta tarea y un punto muy importante es que crea un cache donde almacena las lecturas que son usadas por todas las aplicaciones que lo requieran, a diferencia de LocationManager que por cada aplicación se genera un proceso de obtención de localización lo cual es costoso para la aplicación.

bye bye LocationManager

Empece probando con 1 segundo 0 metros, todo iba bien hasta que llevaba 5km el servidor empezó a saturarse y recibía los mensajes tardíamente, cambie luego a 5seg 0 metros y el servidor ha estado estable he recorrido 20km de prueba y no se ha retrasado ninguna muestra.
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 0, this.locationListener);

Conclusión la velocidad de transferencia suele variar constantemente debido a que el movil se conecta y se desconecta de una antena a otra. Como el lapso de tiempo es tan corto empieza a enviar los mensajes tardíamente.

Fuente

Related Posts:

Girar Rectángulo con LibGDX – android libgdx
Pregunta: Estoy haciendo un programilla de prueba que se compone de : 4 botones , arriba, abajo, izquierda y derecha. Una nave espacial, formada por un ...
Botones con android y LibGDX – android libgdx
Pregunta: Buenas, he creado un pequeño boton en android, con libGDX muy sencillo, pero el problema es el siguiente: Le tengo asignada una funcion que escribe ...
Actualizar información con ajax php mysql – php jquery mysql
Pregunta: Tengo esta simple consulta que lo que simplemente me muestra las visitas de la web, pero quisiera que fuera automático con ajax ya que ...
Hacer update a registros de mensajes para marcarlos como leido – mysql
Pregunta: Tengo este proceso almacenado, necesito hacer varios update para marcar como leidos los mensajes. El problema es que solo se hace 1 update y ...
¿Cómo utilizar `count` para contabilizar la cantidad de registros para distintos valores de un campo en mysql? – php mysql sql
Pregunta: Resulta que tengo un campo llamado ESTADO en mi tabla. En este campo hay varias estados de pedido que son: LOGÍSTICA, PACKING, PICKING, CARTERA, ...
Insertar en una tabla registros basados en el resultado de una consulta – mysql sql
Pregunta: Estoy intentando que insertar una fila nueva con unos datos por cada valor que de un SELECT. Os dejo la última query que se me ...
Crear cuenta regresiva N segundos mientras se visualiza una Activity en Android – java android
Pregunta: Quiero implementar una cuenta regresiva de N segundos, que se inicie cuando la Activity se muestre, se pare el contador cuando el usuario decide ...
Crear prototipos para aplicaciones Android – android prototipos
Pregunta: estoy interesado en optar por una herramienta que me sea bastante util para poder realizar prototipos de aplicaciones móviles, especificamente para Android. Empece buscando ...
¿Como Se Instala Un Apk Y Como Se Ve Despues? – android
Pregunta: Tengo una duda sobre que pasa con ese archivo apk una vez instalado si se queda como uno solo o se separa en fragmentos ...
¿Como usar una sentencia Case en Mysql? – mysql sql
Pregunta: Tengo dos tablas una es la de detalle de producto y la otra es la de producto, el problema radica en que yo quiero ...
buscar las 3 fechas más antiguas en SQL – mysql sql
Pregunta: Tengo un problema con una consulta. La tabla tiene los siguientes campos: Tabla1 --------+-----------+---------+------------------ Id | Inicio | Fin ...
¿Como usar la clase Intent para mostrar las apps del usuario – android android-intent
Pregunta: Quiero que mi app muestre las aplicaciones del usuario en un ListView. He tratado de investigar y me salio en ingles la mención a esta ...
Calcular distancia entre dos coordenadas android – android
Pregunta: quisiera saber como puedo hallar la distancia entre 2 coordenadas en kilómetros en trayecto vía automóvil, estoy usando la API de google maps. Agradezco cualquier ...
Update con MYSQL PHP – php mysql mysqli
Pregunta: Tengo este código, pero no hace el update, y no sé porque. <?php // if ($_POST == "" || $_POST == "" || $_POST == ""){ ...
¿Cómo puedo crear una aplicación Android que no se pueda cerrar así como WhatsApp? – android android
Pregunta: Esta pregunta ya tiene una respuesta aquí: ...

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *