2011-05-30 61 views
0

我剛剛android.I做了一個應用程序,其中我想顯示從服務器下載的文件的大小。 有什麼方法可以顯示我們已經下載了多少? Plz如何顯示我們已經下載了多少數據

如果有人可以幫忙。

感謝

+0

請嘗試提出您的問題更具體。沒有方法'displayHowMuchDownloadedSofar()'。你卡在哪裏? – 2011-05-30 12:32:41

回答

0

我希望你存儲數據whcih你從服務器在任何特定位置的文件中獲取。所以創建一個文件passinb位置的絕對路徑。使用length()方法來獲取文件大小。 這樣你可以得到你有多少數據從服務器下載

File f = new File("absolutepath"); 
    if(f.exists()){ 
    f.length() 
    } 

感謝 迪帕克

0

嘿。您可以使用下面的代碼或首選異步任務,在onProgressUpdate方法中,您可以從輸入源變量中檢查大小。

URL u = new URL("http://www.java2s.com/binary.dat"); 
    URLConnection uc = u.openConnection(); 
    String contentType = uc.getContentType(); 
    int contentLength = uc.getContentLength(); 
    if (contentType.startsWith("text/") || contentLength == -1) { 
     throw new IOException("This is not a binary file."); 
    } 
    InputStream raw = uc.getInputStream(); 
    InputStream in = new BufferedInputStream(raw); 
    byte[] data = new byte[contentLength]; 
    int bytesRead = 0; 
    int offset = 0; 
    while (offset < contentLength) { 
     bytesRead = in.read(data, offset, data.length - offset); 
     if (bytesRead == -1) 
     break; 
     offset += bytesRead; 
    } 
    in.close(); 
0

只需查看下面的文檔,它解釋了異步任務。在它的進度更新中,你可以檢查輸入sorce文件的大小。 如果您想將其顯示給UI,請使用進度對話框。

ProgressDialog

相關問題