2011-05-30 87 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

相关问题