Pregunta

En realidad, soy la captura de XML de la web, analizarlo y mostrarlo en la pantalla. El problema que estoy recibiendo es que los intentos de actividad para cargar los datos desde la web cada vez que la actividad se denomina (En realidad, mi aplicación móvil requiere frecuentes viajes al servidor), así que estoy en busca del siguiente solución:.

On Re-launch of an activity, the data from web should not be loaded again. 
creating a class that i can use to transparently make application faster by
selectively caching items in memory.  And thus, making users very happy and 
This class can even apply individual refresh times to each cached item.

Por lo tanto, creo que es necesario para almacenar los datos en la caché o algo por el estilo.

¿Hay alguna forma / técnica para poner en práctica tal cosa? de manera que no tenga que cargar todos los tiempos en el relanzamiento de una actividad.

¿Fue útil?

Solución

No está seguro de lo que el rendimiento sería con esta sugerencia, pero, con mucho más fácil si sólo quiere evitar ir a buscar el código XML archivos cada vez que sus actividades relanzamientos, es salvar a Almacenamiento interno . Cuando la actividad de su (re) lanzamientos, usted comenzará a comprobar si existen los archivos de forma local antes de que los traes de la web.

sería, por supuesto, tiene que venir tipo de lógica para decir si un archivo XML es "fuera de fecha" (que podría tener una tabla de base de datos simple, con los nombres de archivo y las fechas última improbables), y probablemente también les gusta tener algún tipo de lógica de limpieza para borrar archivos cuando ya no los necesita para que no llenan un espacio innecesario.

Otros consejos

Se podría intentar usar un servicio para cargar los datos en el fondo a intervalos determinados.

Bueno, lo que yo he hecho es hacer una tabla, digamos que lo llaman "Table_Web_XML", y los campos apropiados en ella a datos de la web específicos de la tienda.

Al iniciar la actividad tendría primer cheque si hay datos en la base de datos. Si la tabla está vacía (es decir, la actividad es de carga por primera vez), me gustaría cargarlo desde la web y mostrar en la pantalla y guardar en la base de datos.

Por otro lado, si no hay datos en la tabla, entonces yo cargarlo en la pantalla, y empezaría a un servicio en segundo plano que se actualice la base de datos de mi mesa si hay algún cambio en ella en la web. Lo que esto haría es para el punto de vista de la respuesta del sistema, los datos siempre se carga rápido, cuando se abre repetidamente la actividad y servicio en segundo plano se asegurará de contenido nuevo y más reciente sobre las solicitudes posteriores :). Espero que ayuda.

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