verbalinsurection Posted December 20, 2010 Share Posted December 20, 2010 Salut ! Tout d'abord le code : private class FileDownloader extends AsyncTask<String, String, Boolean> { @Override protected Boolean doInBackground(String... url) { Boolean retour; int count; try { URL urlToDl = new URL(url[0]); URLConnection conexion = urlToDl.openConnection(); conexion.connect(); int lenghtOfFile = conexion.getContentLength(); InputStream input = new BufferedInputStream(urlToDl.openStream()); OutputStream output = new FileOutputStream(orLocation + "updates/" + namFileToDl); 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(); retour = true; } catch (Exception e) {Log.d(this.getClass().getName(), "Paf ! " + e); retour = false;} return retour; } @Override protected void onProgressUpdate(String... progress) { progressDialog.setProgress(Integer.parseInt(progress[0])); } @Override protected void onPostExecute(Boolean result) { progressDialog.cancel(); continuUpdate(result); } Le problème est que tout se passe bien pour des petits fichiers type image, mais lors d'un téléchargement de fichier de 80 Mo par exemple, arrivé à 40% environ (c'est variable) le téléchargement reprend de 0 (ainsi que la barre de progression forcement). Le téléchargement du fichier sur le PC se fait sans problème. Dans l'émulateur la vitesse de DL est correcte (mais reprend à 0 aussi au bout d'un moment), à partir du téléphone (en WIFI) c'est extrêmement lent. Rien du tout dans le logcat, mais rien de rien de rien... grrrrrr Avez-vous une idée ? Merci d'avance ;) Link to comment Share on other sites More sharing options...
Pierre87 Posted December 27, 2010 Share Posted December 27, 2010 j'ai une idée, ajoute un peu de code de debug (Log.xxx()) pour savoir ce qui se passe Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.