2013-01-20 5 views
7

Ich möchte in der Lage sein, eine http-Verbindung zu einer bestimmten Datei in Android zu öffnen und starten Sie den Download. Ich muss auch in der Lage sein, den Download irgendwann zu pausieren und später fortzusetzen. Wie wird das in Android erreicht? Ich möchte den Download nicht noch einmal starten.Pause/Resume http Verbindung Download

+1

Haben Sie diese sehen http://stackoverflow.com/questions/6237079/resume-http-file-download-in-java – laxonline

+0

@laxonline großer Dank ! Wenn du dies als Antwort postest, kann ich es akzeptieren und dieses schließen. –

Antwort

1

Eine solche Downloader wurde here posted:

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

Können Sie erklären, was im Code passiert? – Cjames

+0

Bitte fügen Sie Ihrem Code immer Quellen hinzu. – Sufian

Verwandte Themen