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
:
- Cómo calcular el tamaño de un archivo en Android
- La actividad se bloquea en setAdapter (ArrayAdapter);
- ¿Depurar un proyecto Java basado en gradle en Android Studio?
- Cómo convertir wsdl a java?
- Triangle opengl en android
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) { ... } }
- SetEntity en HttpDelete
- Error: Error de ejecución de la tarea ': app: dexDebug'. Com.android.ide.common.process.ProcessException
- Integrar roboelectric con android studio con gradle siempre da paquetes org.junit no existe error
- Android: obtener la rotación actual de una matriz
- Buscar el uso de id que no funciona en Android Studio en Windows
- ¿Cómo puedo abrir proyectos de código abierto en Android Studio?
- Dagger 2 e implementaciones de interfaz
- ¿Cómo utilizar textview en la pantalla de Preferencias de Android?
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