Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo usar CacheManager de Android?

Actualmente estoy desarrollando una aplicación de Android que recolecta imágenes usando solicitudes http. Sería bastante oleaje si pudiera almacenar en caché esas imágenes para mejorar al funcionamiento y al uso del ancho de banda.

Me encontré con la clase CacheManager en la referencia de Android, pero realmente no sé cómo usarlo, o lo que realmente hace.

  • Sqlite LIKE problema en android
  • ¿Cómo configuro Java Doc for google drive api para android en Eclipse
  • Cómo configurar la notificación con sonido personalizado en android
  • El emulador de Android Studio no viene con Play Store para API 23
  • Cómo deshabilitar lint abortOnError en Android Gradle Plugin desde el nivel superior del directorio de proyectos múltiples
  • Xlarge vs sw720dp tamaño de pantalla confusión
  • Ya he explorado este ejemplo, pero necesito ayuda para entenderlo:

    /core/java/android/webkit/gears/ApacheHttpRequestAndroid.java

    Asimismo, la referencia establece:

    "Las solicitudes de red se proporcionan a este componente y si no pueden ser resueltas por el caché, los encabezados HTTP se adjuntan, según corresponda, a la solicitud de revalidación de contenido".

    No estoy seguro de lo que esto significa o cómo funcionaría para mí, ya que CacheManager getCacheFile acepta sólo una URL de cadena y un mapa que contiene los encabezados. No estoy seguro de lo que el anexo mencionado significa.

    Una explicación o un simple ejemplo de código realmente haría mi día. ¡Gracias!

    Actualizar

    Esto es lo que tengo ahora mismo. Estoy claramente haciendo mal, simplemente no sé dónde.

     Public static Bitmap getRemoteImage (String imageUrl) {
             URL aURL = null;
             URLConnection conn = nulo;
             Mapa de bits bmp = nulo;
    
             CacheResult cache_result = CacheManager.getCacheFile (imageUrl, nuevo HashMap ());
    
             If (cache_result == null) {
                 tratar {
                     AURL = nueva URL (imageUrl);
                     Conn = aURL.openConnection ();
                     Conn.connect ();
                     InputStream es = conn.getInputStream ();
    
                     Cache_result = new CacheManager.CacheResult ();
                     CopyStream (es, cache_result.getOutputStream ());
                     CacheManager.saveCacheFile (imageUrl, cache_result);
                 } Catch (Excepción e) {
                     Return null;
                 }
             }
    
             Bmp = BitmapFactory.decodeStream (cache_result.getInputStream ());
             Return bmp;
         }
    

  • No se puede encontrar el método getPackageManager () en android
  • ¿Cómo puedo suprimir las advertencias al compilar una biblioteca de Android con gradle?
  • Cómo obtener el número de milisegundos transcurrido hasta ahora hoy
  • Creación de hashmap / map desde recursos XML
  • Android - mapas offline, no basados ​​en vectores, personalizados
  • Cómo actualizar la vista de imagen inmediatamente
  • 2 Solutions collect form web for “¿Cómo usar CacheManager de Android?”

    No creo que el CacheManger se pueda utilizar fuera de un WebView como se indica en este informe de fallo http://code.google.com/p/android/issues/detail?id=7222

    Me encontré con este problema hace un tiempo también. El gestor de caché es sólo para la webview y no es realmente útil fuera de eso. Para mi aplicación que necesitaba para almacenar en caché respuestas xml y las imágenes por lo que terminé escribiendo mi propio gestor de caché para lograr eso. Nada demasiado terrible, pero ciertamente no es tan fácil como usar una incorporada.

    Si tiene alguna pregunta sobre los detalles, agregue un comentario a mi mensaje, lo reviso con frecuencia.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.