как отобразить то сколько данных мы скачали - PullRequest
0 голосов
/ 30 мая 2011

Я новичок в Android. Я делаю приложение, в котором я хочу отобразить размер файла, который загружается с сервера. Есть ли способ показать, сколько мы скачали? Plz

если кто-нибудь может помочь.

Спасибо

Ответы [ 3 ]

0 голосов
/ 30 мая 2011

Привет. Вы можете использовать приведенный ниже или предпочтительный код в асинхронной задаче, где в методе 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 голосов
/ 07 октября 2011

Просто просмотрите документацию ниже, которая объясняет асинхронную задачу.В ходе обновления вы можете проверить размер входного файла sorce.Если вы хотите показать это в пользовательском интерфейсе, используйте диалог прогресса.

ProgressDialog

0 голосов
/ 30 мая 2011

Я надеюсь, что вы храните данные, которые вы получаете с сервера, в файле в любом конкретном месте. Поэтому создайте файл passinb для абсолютного пути к местоположению. используйте метод length (), чтобы получить размер файла. Таким образом, вы можете узнать, сколько данных вы скачали с сервера

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

Спасибо Дипак

...