2013-01-20 9 views
7

Desidero poter aprire una connessione http a un determinato file in Android e iniziare a scaricarlo. Devo anche essere in grado di sospendere il download ad un certo punto e riprenderlo in seguito. Come viene raggiunto in Android? Non voglio ricominciare da capo il download.Sospendi/Riprendi connessione http download

+1

Avere vedete questo http://stackoverflow.com/questions/6237079/resume-http-file-download-in-java – laxonline

+0

@laxonline grande grazie ! Se pubblichi questo come risposta, posso accettarlo e chiudere questo. –

risposta

1

Tale downloader è stata pubblicata here:

HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
    if(ISSUE_DOWNLOAD_STATUS.intValue()==ECMConstant.ECM_DOWNLOADING){ 
     File file=new File(DESTINATION_PATH); 
     if(file.exists()){ 
      downloaded = (int) file.length(); 
      connection.setRequestProperty("Range", "bytes="+(file.length())+"-"); 
     } 
    }else{ 
     connection.setRequestProperty("Range", "bytes=" + downloaded + "-"); 
    } 
    connection.setDoInput(true); 
    connection.setDoOutput(true); 
    progressBar.setMax(connection.getContentLength()); 
    in = new BufferedInputStream(connection.getInputStream()); 
    fos=(downloaded==0)? new FileOutputStream(DESTINATION_PATH): new FileOutputStream(DESTINATION_PATH,true); 
    bout = new BufferedOutputStream(fos, 1024); 
    byte[] data = new byte[1024]; 
    int x = 0; 
    while ((x = in.read(data, 0, 1024)) >= 0) { 
     bout.write(data, 0, x); 
     downloaded += x; 
     progressBar.setProgress(downloaded); 
    } 
+3

Puoi spiegare cosa sta succedendo nel Codice? – Cjames

+0

Per favore aggiungi sempre fonti al tuo codice. – Sufian