Pregunta

Mi aplicación hace varias llamadas a getFromLocationName desde el android.location.Geocoder; Clase, esto se maneja actualmente en mi actividad, lo que también muestra algunos datos depedantes en los resultados de esa llamada.

Esto puede ser bastante lento, por ejemplo, antes de que la actividad pueda cargarla primero tiene que completar las diversas llamadas, y eso depende de una conexión de red.

Una vez que tengo los resultados, realmente no necesito refrescar eso (quiero decir, ¿con qué frecuencia cambian las ubicaciones y las coordenadas geográficas?)

Mi pregunta : ¿Cómo puedo evitar tener que consultar para estos datos cada vez que se ejecuta mi aplicación? ¿Debería hacer algo con un servicio que los cargue todos en el inicio? (Podría ser bastante lento si tiene que consultar más de 50 veces). ¿O debo hacer la llamada, almacenar resultados en SQL, entonces solo consultar la próxima vez si actualmente no tengo los resultados?

¿Fue útil?

Solución

Si desea almacenarlo en caché rápidamente, le recomiendo almacenar los resultados más recientes en una base de datos SQLite. Probablemente incluso podrías salirse con la suya con la suya PreferenceManager Para un almacenamiento rápido si no necesita la base de datos para cualquier otra cosa. Simplemente almacene las últimas coordenadas y la hora y hora, luego verifique si la hora de fecha ha expirado después de x minutos o x horas (si eso es lo que desea hacer).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top