HTTP Async Downloader con auto-resume en error
Tengo un descargador asíncrono en mi aplicación, pero a veces la conexión se pierde, especialmente cuando estoy en una conexión móvil y si el archivo es grande (> 10 MB). ¿Hay una manera de atrapar cuando una descarga se detiene y luego obligarla a reanudar con el resultado de completar la descarga?
Esta es la tarea asíncrona doInBackground
:
- Analizar notificación de inserción abierta en diferentes actividades Android
- Adjuntar fuentes de SDK de Android en Eclipse
- Android: Listener para grabar sonido si se produce algún sonido
- Java vs Objective C en caso de excepción nullpointer
- Búsqueda de espacios, líneas nuevas y pestañas con charAt ()
protected String doInBackground(String... aurl) { int count; try { URL url = new URL(aurl[0]); URLConnection conexion = url.openConnection(); // conexion.setRequestProperty("Range", "bytes=" + downloaded + "-"); conexion.connect(); int lenghtOfFile = conexion.getContentLength(); pesoVideo = lenghtOfFile / 1048576; output = "/sdcard/" + folderString + "/" + nomeFile + ".mp3"; InputStream input = new BufferedInputStream(url.openStream()); OutputStream output = new FileOutputStream( VideoDownloaderBrowserActivity.this.output); byte data[] = new byte[1024]; long total = 0; while ((count = input.read(data)) != -1) { total += count; publishProgress("" + (int) ((total * 100) / lenghtOfFile)); output.write(data, 0, count); } output.flush(); output.close(); input.close(); } catch (Exception e) { } return null; }
Este es el onProgressUpdate
:
protected void onProgressUpdate(String... progress) { if (Integer.parseInt(progress[0]) > progresso) { ... } }
- Android: ¿qué hace el método "setTextFilterEnabled"?
- Informe Leakcanary de pérdida de memoria usando Otto
- Cómo programar un secuenciador de música simple para Android (Java)
- Cierre de ByteArrayOutputStream en una aplicación de Android
- ¿Cómo crear una biblioteca móvil orientada, multiplataforma, compartida en Java?
- Modificar clase en jar: android build failed
- Método de cifrado para iPhone y Android
- ¿Usando la cadena del recurso XML en el interruptor?
Aquí hay un hilo discutiendo la descarga resumible en Android bajo API 9. De lo contrario DownloadManager
es una buena opción también para las versiones más recientes.
Básicamente es necesario habilitar la función de bytes en su servidor para permitir la descarga reanudable.
- El color de fondo de Viewpager se filtra a través de la primera página
- Android AppCompat revisión 21 fuerza Holo tema