Sto cercando di scaricare file di grandi dimensioni da Internet (> 20Mb)Android: scarica file di grandi dimensioni
private class DownloadTask extends AsyncTask<DatabaseInfo, Integer, String> {
private DatabaseInfo info;
protected String doInBackground(DatabaseInfo... dbInfo) {
int count;
info = dbInfo[0];
try {
URL url = new URL(dbInfo[0].dbPath);
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream("/sdcard/db.zip");
byte data[] = new byte[1024];
int total = 0;
while ((count = input.read(data)) != -1) {
//output.write(data, 0, count);
total += count;
if (total % 10240 == 0) {
publishProgress(total);
}
}
output.flush();
output.close();
input.close();
}
catch (Exception e) {
Log.e("err", e.getMessage());
}
return null;
}
protected void onProgressUpdate(Integer... total) {
int perc = (int) ((float) total[0]/(float) info.dbZipSize * 100);
mProgressDialog.setProgress(perc);
}
protected void onPostExecute(String s) {
dismissDialog(DIALOG_PROGRESS);
Log.e("err", "finish!");
}
}
Se finestra di dialogo I linea di rimuovere il commento
//output.write(data, 0, count);
dopo 7-15% scaricano progressbar respingere e Vedo "finire!" nel registro. Perché?
lo hai provato nel dispositivo o nell'emulatore ?? se lo hai provato in emulatore, allora non funziona correttamente. perché hai bisogno di una configurazione di sistema alta. Emulatore – Praveen
. ok, proverò sul dispositivo – embo
sì, sul dispositivo funziona bene! – embo