2011-12-19 18 views
8

Necesito almacenar en caché las respuestas http, y en base a esto blog post esa funcionalidad está integrada en ICS. Sin embargo, necesito soportar las versiones 1.6 y posteriores, así que quería ver si hay bibliotecas listas para usar allí antes de ver qué se necesita para respaldar la funcionalidad de ICS.Mejores opciones que backporting ICS HttpResponseCache

Actualización:

Aquí está el enlace a HttpResponseCache que solo soporta java.net.HttpURLConnection.

Segunda actualización:

Después de algunas investigaciones, parece que Apache de HttpClient no apoyar caching, con la salvedad de que el valor por defecto (en memoria) back-end no es probablemente una buena idea para aplicaciones de Android con limitaciones de memoria. Ehcache puede ser una buena opción dependiendo de su compatibilidad con Android.

Respuesta

11

creé este problema solicitando que una versión cambiado de nombre, compatible con versiones anteriores de android.net.http.HttpResponseCache se añadirá a la biblioteca de compatibilidad: https://code.google.com/p/android/issues/detail?id=23875

Google declinó el tema, pero se ofreció a ayudar en la toma de la backport y biblioteca. Así que estoy tratando de hacer eso.

Además, HttpClient-Cache puede ser una buena cosa para usar. No funciona en Android como está, necesita hacer una pequeña modificación y volver a compilarla. Consulte http://comments.gmane.org/gmane.comp.apache.httpclient.user/501

Sin embargo, le recomiendo que pruebe https://code.google.com/p/httpclientandroidlib/ - es una versión reempaquetada (renombrada) de HttpClient y HttpClient-Cache para Android. Es bastante simple de configurar (solo incluya un jar y luego use ch.boye.httpclientandroidlib. * En lugar de org.apache.http. *).

+0

Gracias! Terminé usando el CachingHttpClient de Apache en 4.1 con un CacheStorage basado en SQLite, pero hubiera ido con 'httpclientandroidlib' si supiera antes. –

7

He comenzado a usar la biblioteca que candrews backported y estoy feliz de informar que funciona bien como un reemplazo directo para las aplicaciones de Android anteriores al ICS que usan HttpUrlConnection. Está disponible en https://github.com/candrews/HttpResponseCache

Otra cosa agradable es que la API es la misma que la versión ICS, por lo que puede habilitar la incorporada en ICS y usar la versión backported de candrews pre-ICS con muy poco código.

+0

Estoy buscando desesperadamente algunos ejemplos de trabajo de HttpResponsecache. Sería realmente útil si pudiera mostrarme algunos fragmentos de código que pueda tener. – Rasmus

Cuestiones relacionadas