2011-12-29 22 views
5

He estado trabajando en android durante los últimos meses, ahora el problema para mí es leer un archivo .zip colocado en una tarjeta sd. He realizado con éxito la codificación para descargar el archivo .zip en la tarjeta SD.Cómo leer un archivo directamente desde un archivo .zip sin extraerlo en android

Tengo el archivo img.zip descargado en la tarjeta SD. Este img.zip contiene 5 archivos de imagen. Ahora, en lugar de descomprimir el archivo img.zip, ¿puedo leer su contenido directamente ...? si si por favor ayuda. Vi algunos ejemplos en Internet pero todos dicen que para descomprimir y luego usar, quiero evitar esa parte porque simplemente quiero configurar las imágenes para una imagen.

ImageView imv = new ImageView(this); 
imv.setImageURI(Uri.parse("//sdcard/1.png")); 

esto es como descargar una sola imagen y establecer la fuente de imv que realmente funciona. Ahora lo que quiero es algo como se muestra a continuación.

imv.setImageURI(Uri.parse("//sdcard/img.zip/1.png")); 

Intenté esto, pero en mi disposición no veo las imágenes.

¿Se puede hacer ... PLZ ayuda ...

Lo tengo trabajo por el siguiente código ....

try { 
       Bitmap mBackground=null; 
        FileInputStream fis = new FileInputStream("//sdcard/tp.zip"); 
        ZipInputStream zis = new ZipInputStream(fis); 
        ZipEntry ze = null; 
        while ((ze = zis.getNextEntry()) != null) { 
         if (ze.getName().equals("1.png")) { 
          Toast.makeText(con, "Found", 2).show(); 
          mBackground = BitmapFactory.decodeStream(zis); 
          imv.setImageBitmap(mBackground); 
          break; 
         } 
        } 
       } catch (FileNotFoundException e) { 
        e.printStackTrace(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 

Respuesta

2

Trate

imv.setImageURI(Uri.parse("//sdcard/img.zip!/1.png")); 
+0

@ MahdeTo- Gracias para la respuesta, pero no funciona, el diseño se abre sin imágenes. ¡Lo que realmente hace eso! el símbolo significa .. ?? – AMUL

+0

lamento que necesite especificar el protocolo para jar: archivo: al principio. – MahdeTo

+0

! significa que desde adentro de este archivo zip o jar acceda a esta ruta – MahdeTo

Cuestiones relacionadas