2012-03-02 11 views
5

He hecho una aplicación Android que envía coordenadas GPS a un script PHP (cada segundo) que las envía a una base de datos para ser almacenadas, y luego un programa Javascript extrae las coordenadas (cada segundo) y los muestra en un mapa y rastrea al usuario con marcadores y una polilínea.Android Retardo GPS al enviar a la base de datos

Tengo problemas con la fiabilidad de la aplicación, sin embargo. Lo probé en mi habitación y puedo recibir actualizaciones de ubicación, pero cuando estaba en clase hoy, el teléfono no enviaba las coordenadas. Salí afuera e inmediatamente recogí una señal y mis coordenadas fueron enviadas y luego recibidas por el script PHP. ¿Hay algo que pueda hacer al respecto o siempre tendré problemas cuando esté dentro de edificios grandes? Estoy usando 2.2.3 si eso ayuda en absoluto.

Otro problema que tengo es el tiempo de retraso entre cuando se presiona el botón y cuando las coordenadas son recibidas por el script PHP. Tarda unos 20-30 segundos antes de que la base de datos los registre. Envio algunos otros datos a una tabla diferente y llega al db casi instantáneamente. ¿Podría ser porque tengo tantos programas que las coordenadas deben pasar, o es el retraso de tiempo que se espera, ya que el teléfono debe ejecutar procesos más complejos para obtener las coordenadas? ¿Hay algo que pueda hacer para reducir este tiempo de retraso?

Respuesta

1

Debe depurar su código en el lado del cliente (aplicación) y en el lado del servidor (php). Crear un identificador único para cada actualización "transacción" y se imprime en ambos lados:

* En la aplicación - se puede conectar el dispositivo al ordenador y utilizar Eclipse y add debug-printings. Si usted quiere ser capaz de alejarse de la computadora - que tendrá que print a log file en su aplicación para Android

* En el lado del servidor puede utilizar microtime() e imprimir el ID correspondiente a la hora de recepción de la solicitud

+0

¿Qué se puede hacer para acelerar las cosas? Solo hay unas pocas líneas de código para agregar las coordenadas a la base de datos usando PHP. ¿Sería más probable que el GPS tarde un tiempo en obtener una ubicación? – mkyong

+0

Según mi experiencia, podría tomar el GPS en cualquier momento entre 2-3 segundos y 15-20 segundos (también puede transcurrir el tiempo de espera). Pero, si quieres encontrar el origen del problema, tendrás que hacer un poco de trabajo en lugar de adivinar;) – alfasin

Cuestiones relacionadas