2011-01-14 24 views
6

Hola, estoy transmitiendo video desde un sitio web en mi aplicación de Android. Tengo una opción de historial que muestra los últimos videos vistos. Me pregunto si puedo usar el caché para que cuando el usuario ingrese el historial el video se reproduzca más rápido (no se vuelva a descargar). Cuando usas caché en Android, ¿eso significa que todo el video se descarga y se guarda en algún lugar? o algunos datos se guardan en algún lugar (no en todo el video).cómo guardar los archivos descargados en la caché de Android

¡¡Alguna ayuda será apreciada !!!

Gracias.

Respuesta

19

Te debería ayudar.

URLConnection cn = new URL(mediaUrl).openConnection(); 
    cn.connect(); 
    InputStream stream = cn.getInputStream(); 

    File downloadingMediaFile = new File(context.getCacheDir(), "downloadingMedia.dat"); 

    FileOutputStream out = new FileOutputStream(downloadingMediaFile); 
    byte buf[] = new byte[16384]; 
    do { 
     int numread = stream.read(buf); 
     if (numread <= 0) break; 
     out.write(buf, 0, numread); 
     // ... 
    } while (...); 
+0

por lo que significa que todo el archivo se descargará al directorio de caché? Lo siento, no sé cómo funciona la caché ... – madcoderz

+0

@madcoderz: todo el archivo o solo una parte de él, depende de usted decidir. Un caché es un lugar para almacenar datos para que el acceso futuro sea más rápido. Creo que esto es lo que necesitas. – gulbrandr

+3

Pero getCacheDir() devuelve un 'File' y no un' String'. –

Cuestiones relacionadas