La mejor manera de almacenar en caché una respuesta de XML / JSON en mi uso. Archivo de texto completo?

Actualmente estoy utilizando XML o JSON webservices en mis diversas aplicaciones.

Sólo me gustaría saber cuál sería la manera más fácil de caché tesis respuestas algún lugar en los archivos de texto.

He estado pensando en bases de datos, pero esto parece bastante complicado!

Entonces, lo que me gustaría hacer es

  1. Para almacenar estos archivos xml / JSON en la memoria del teléfono, ¿debo hacer algo así?

    String FILENAME = "MyXmlFile"; String string = "hello world!"; FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); fos.write(string.getBytes()); fos.close(); 
  2. En el onCreate de mi aplicación, me gustaría analizar este archivo. Como todos los tutoriales están mostrando cómo analizar el archivo de URL web, nunca encontré una forma de analizar un archivo de texto interno. ¿Alguien tiene un consejo sobre ese punto?

Gracias.

3 Solutions collect form web for “La mejor manera de almacenar en caché una respuesta de XML / JSON en mi uso. Archivo de texto completo?”

Será lo contrario de su escritura XML / JSON. Utilice openFileInput para obtener el FileInputStream. Lea el flujo a una cadena y luego analizarlo.

Puede aplicar SharedPreferences, que también es un archivo XML. Simplemente analice su JSON / XML primero, extraiga todo el par de valores clave y luego escriba en su archivo pref. La próxima vez, al cargar onCreate (), basta volver a cargar las claves / valores de pref. Esta muestra podría darle un comienzo:
http://android-er.blogspot.com/2011/01/example-of-using-sharedpreferencesedito.html

Otra forma es usar una impresionante http-request library. Permite usar ETag para comprobar si la respuesta no está modificada (HTTP 304 no modificado). Si no se modifica, utilice JSON desde caché de archivos, o haga una solicitud para obtener el nuevo recurso.

 File latest = new File("/data/cache.json"); HttpRequest request = HttpRequest.get("http://google.com"); //Copy response to file request.body(latest); //Store eTag of response String eTag = request.eTag(); //Later on check if changes exist boolean unchanged = HttpRequest.get("http://google.com") .ifNoneMatch(eTag) .notModified(); 
  • Cómo crear una notificación push personalizada usando asp.net webservice?
  • Ksoap2 casting getResponse ()
  • Android Obtener archivo pdf como resultado de httppost
  • ¿Hay una manera de verificar si los datos no se alteran durante el envío a un servicio web (utilizando la conexión HTTP)?
  • Android: ¿Cómo enviar datos a MySQL DB sin usar JDBC, PHP o cualquier otro servicio web?
  • Autenticación de Webservice de iPhone y token de acceso
  • Android: ¿Es una buena idea almacenar Token de autenticación en las preferencias compartidas?
  • Hacer formas dinámicas (el mejor enfoque)
  • Cómo llamar a un servicio web SOAP en Android
  • ¿Hay alguna forma sólida de hacer frente a la autenticación integrada de Windows (NTLM) desde una aplicación de Android?
  • Cómo alojar un servicio web java RESTful para la aplicación android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.