verbalinsurection Posté(e) 20 décembre 2010 Share Posté(e) 20 décembre 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 ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 27 décembre 2010 Share Posté(e) 27 décembre 2010 j'ai une idée, ajoute un peu de code de debug (Log.xxx()) pour savoir ce qui se passe Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.