miércoles, 25 de abril de 2012

Cargar y mostrar imagen de la web en Android

El día de hoy les comparto dos formas de cargar una imagen desde la web. Ambas formas provienen de programadores que han querido compartir sus conocimientos, tiempo y experiencia, y que han compartido los codigos fuente de sus clases para cargar y mostrar imágenes desde la web en nuestro Android.

 Primera forma

Archivo: LoaderImageView.java
Autor: Blundell

Lo único que tenemos que hacer es


  1. Copiar el archivo LoaderImageView en nuestro proyecto o copiar el codigo y crear uno con el mismo nombre.
  2. Cambiar el "package" que apunta a uno que el autor definió como  package diablo.douban.common;  por el que corresponda a nuestra estructura de packages/carpetas. Con esto ya no marcará error.
  3. En la actividad donde deseamos cargar y mostrar la imagen agregamos las siguientes lineas de codigo




Segunda forma

La segunda forma es similar pero usando una tres clases muy bien hechas y que se recomienda sean utilizadas si se va a crear una aplicación para la Android Market que ahora se llama Google Play. Este grupo de clases trabajan en conjunto para cargar de manera asincrona una imagen, guardarla en cache/BD cierto tiempo y recuperarla de ahi hasta que expire el tiempo especificado (un dia, una semana, infinito, ect.) Este es uno de esos aportes que uno realmente agradece dada la calidad y esfuerzo requerido.

Archivos:

UrlImageViewHelper.java
UrlImageCache.java
SoftReferenceHashTable.java

Autor: Koushik Dutta

Descargar codigo fuente

Los pasos para hacer funcionar estas clases son prácticamente los mismo que el ejemplo anterior, la diferencia es que aquí necesitamos tres archivos de código y corregir los tres en su sección del package. Para usarlo hacemos lo siguiente:






Listo!

1 comentario:

  1. hola! te hago una consulta.
    estoy probando el primer ejemplo y me tira un error en una de las lineas
    private static DiabloDatabase mDatabase;
    es por que no tengo esa clase. podria crear la clase pero no se que atributos tendria que tener ni nada. gracias
    saludos

    ResponderEliminar