¿Cómo descargar archivos (pdf, doc etc …) en sdcard y abrir el archivo utilizando volley en android?
En mi aplicación android necesito descargar un archivo en mi tarjeta SD y verlo a través de intentos, estoy usando la biblioteca volley para todas las llamadas de red en mi aplicación. Ideas.
- Android httpPost con parámetros y archivo
- ¿Cómo obtener la última fecha de modificación del archivo en línea?
- ¿Por qué no puedo usar getFilesDir (); En un contexto estático?
- Descargar un archivo con DefaultHTTPClient y autenticación preventiva
- Android Webview: No se puede llamar a determinedVisibility () - nunca vio una conexión para el pid
- Android FileObserver ejemplo en Xamarin / C #?
- Android: cómo puedo obtener el tamaño de la matriz de cadena?
- Obtener el camino real de URI de archivo en sdcard marshmallow
- Android Download Manager
- Cómo saber cuando MediaRecorder ha terminado de escribir datos en el archivo
- Android Creación de un archivo de entrada residente en la memoria que se puede adjuntar a un correo electrónico
- Intentando crear un archivo en Android: open failed: EROFS (Sistema de archivos de sólo lectura)
- Explorador de archivos vacío en Eclipse DDMS
class DownloadFileFromURL extends AsyncTask<String, String, String> { /** * Before starting background thread * Show Progress Bar Dialog * */ @Override protected void onPreExecute() { super.onPreExecute(); showDialog(progress_bar_type); } /** * Downloading file in background thread * */ @Override protected String doInBackground(String... f_url) { int count; try { URL url = new URL(f_url[0]); URLConnection conection = url.openConnection(); conection.connect(); // this will be useful so that you can show a tipical 0-100% progress bar int lenghtOfFile = conection.getContentLength(); // download the file InputStream input = new BufferedInputStream(url.openStream(), 8192); // Output stream OutputStream output = new FileOutputStream("/sdcard/downloadedfile.jpg"); byte data[] = new byte[1024]; long total = 0; while ((count = input.read(data)) != -1) { total += count; // publishing the progress.... // After this onProgressUpdate will be called publishProgress(""+(int)((total*100)/lenghtOfFile)); // writing data to file output.write(data, 0, count); } // flushing output output.flush(); // closing streams output.close(); input.close(); } catch (Exception e) { Log.e("Error: ", e.getMessage()); } return null; } /** * Updating progress bar * */ protected void onProgressUpdate(String... progress) { // setting progress percentage pDialog.setProgress(Integer.parseInt(progress[0])); } /** * After completing background task * Dismiss the progress dialog * **/ @Override protected void onPostExecute(String file_url) { // dismiss the dialog after the file was downloaded dismissDialog(progress_bar_type); // Displaying downloaded image into image view // Reading image path from sdcard String imagePath = Environment.getExternalStorageDirectory().toString() + "/downloadedfile.jpg"; // setting downloaded into image view } }
}