Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 12/06/13, 11:07:48
Avatar de Marciano Verde
Marciano Verde Marciano Verde no está en línea
Miembro del foro
Mensajes: 65
 
Fecha de registro: mar 2013
Mensajes: 65
Modelo de smartphone: Samsung Galaxy S3
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Leer contenido de un archivo ZIP

¿Como puedo leer el contenido de un archivo ZIP?, el contenido son unos archivos de texto que si se manejar, pero como abro desde mi aplicación el archivo ZIP, ¿hay librerías?, ¿podeis indicarme donde puedo encontrar un tutorial o ejemplo?.
Responder Con Cita


  #2  
Viejo 12/06/13, 11:13:34
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
http://developer.android.com/referen...e-summary.html

Y el ejemplo, como siempre en stackoverflow http://stackoverflow.com/questions/7...nzip-the-files

Última edición por mocelet Día 12/06/13 a las 11:52:31
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 12/06/13, 12:03:02
Avatar de Marciano Verde
Marciano Verde Marciano Verde no está en línea
Miembro del foro
Mensajes: 65
 
Fecha de registro: mar 2013
Mensajes: 65
Modelo de smartphone: Samsung Galaxy S3
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Gracias mocelet, respuesta muy rápida y muy precisa.
Voy a ver si me aclaro.
Responder Con Cita
  #4  
Viejo 25/06/13, 10:55:57
Avatar de Marciano Verde
Marciano Verde Marciano Verde no está en línea
Miembro del foro
Mensajes: 65
 
Fecha de registro: mar 2013
Mensajes: 65
Modelo de smartphone: Samsung Galaxy S3
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Cuelgo esta pregunta de mi mensaje anterior porque también va sobre archivos ZIP.

A ver, tengo un zip con un puñado de archivos TXT, a la hora de leer uno de ellos ¿tengo que descomprimirlo en la memoria interna, (lo que sería el disco duro)?, ¿no se puede descomprimir en la RAM de manera que al cerrar la aplicación el archivo descomprimido se borre de la memoria?, también quiero que se pueda pasar de un TXT al siguiente de manera muy rápida, instantanea, ¿cual sería la mejor técnica para cargar el siguiente TXT de manera inmediata ?, ¿cual sería la mejor técnica para hacer estas cosas?.
Responder Con Cita
  #5  
Viejo 25/06/13, 12:54:44
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Siendo un OutputStream lo puedes descomprimir donde quieras, en vez de pasarle un FileOutputStream pásale un ByteArrayOutputStream que se guarda en memoria RAM y no en fichero. Tendrás que tener cuidado con cuánto ocupa descomprimido para evitar errores de falta de memoria en los dispositivos menos dotados.

La forma rápida de pasar al siguiente TXT, si tarda mucho en cargarlo al vuelo es precargarlo. Mientras el usuario lee el fichero N tú estás cargando en background el N+1, y así cuando pase al siguiente será instantáneo porque ya lo tienes en memoria.

P.D: Me duelen los oídos cada vez que dices "disco duro" refiriéndote a Android. Lo correcto es decir "el sistema de ficheros" (del inglés filesystem).

EDITO: En realidad ni siquiera te hace falta el OutputStream, al fin y al cabo la lectura del ZIP se hace desde su InputStream y el qué hagas con los datos y dónde lo guardes ya es cosa tuya. Pero vamos, si ya lo tienes hecho y funciona con FileOutputStream el cambio a ByteArray es casi trivial.

Última edición por mocelet Día 25/06/13 a las 13:44:37
Responder Con Cita
  #6  
Viejo 28/06/13, 18:48:08
Avatar de Marciano Verde
Marciano Verde Marciano Verde no está en línea
Miembro del foro
Mensajes: 65
 
Fecha de registro: mar 2013
Mensajes: 65
Modelo de smartphone: Samsung Galaxy S3
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Hola gente tengo un problememita, he seguido el ejemplo de stackoverflow que pone @mocelet en el mensaje #2 de este hilo y todo parece ir bien, pero desde el ordenador no veo los archivos descomprimidos....
A ver, me explico, conecto la tableta al ordenador (mediante un cable), creo una carpeta llamada "prueba", y dentro le copio el archivo "oscar.zip", este archivo debe crear una carpeta llamada "oscar" (dentro de la carpeta "prueba", vamos, donde está "oscar.zip" y dentro 2 archivos TXT, ejecuto mi aplicación en la tableta y el ordenador dice que no ha pasado nada, no veo nada de lo descomprimmido (carpeta y archivos txt)... pulso F5 varias veces, pero nada...
Sin embargo, desde la tableta, usando el ES File Explo, si que veo que la carpeta y archivos están correctamente creados en el lugar correcto...
Entonces porque no los veo desde el ordenador ? Ya he intentado enchufar y desenchufar la tableta, he cerrado y vuelto a abrir la aplicación que descomprime el zip... y nada.
¿alguna idea de por donde puede ir el problema?

Última edición por Marciano Verde Día 28/06/13 a las 18:50:18
Responder Con Cita
  #7  
Viejo 04/07/13, 18:32:47
Avatar de Marciano Verde
Marciano Verde Marciano Verde no está en línea
Miembro del foro
Mensajes: 65
 
Fecha de registro: mar 2013
Mensajes: 65
Modelo de smartphone: Samsung Galaxy S3
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
a riesgo de ser pesado, ¿me permitís una preguntita más?
¿como puedo saber el número de archivos comprimidos tiene un ZIP?

De momento lo estoy haciendo así:

while (zin2.getNextEntry() != null) {
contador++;
}

vamos que recorro todo el zip y voy contando cuantos hay, funciona bien, pero no me parece muy optimo...
Responder Con Cita
  #8  
Viejo 04/07/13, 19:20:12
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Si lees el ZIP como un ZipInputStream no puedes saber a priori cuantas entradas tiene sin recorrerlo todo.

Si es un fichero ZIP parece más fácil usar la clase ZipFile, y entonces te basta con llamar el método size() que te dice cuántos hay.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 00:45:31 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007