Android-приложение, которое я пишу, включает в себя довольно много загрузки контента (например, podcatcher / RSS).
Я хотел бы иметь возможность указать пользователю, сколько байт они скачали, чтобы они могли принять решение, хотят они использовать Wi-Fi или нет.
Для этого я нашел способ подсчитать количество байтов , прочитанных приложением, обернув InputStream
в простой CountingInputStream
.
Однако это не учитывает базовые вещи, такие как заголовки пакетов и заголовки HTTP. Что еще более важно, это не принимает во внимание любое сжатие, с которым контент может быть закодирован.
Итак, сколько байт мое приложение загрузило по сети ? Меня не интересует количество загруженных байтов, но если знаете, не стесняйтесь.
Я пошел по довольно низкоуровневому подходу, поскольку я подаю поток ввода в XML PullParser. Мне также понадобится выполнить аналогичное упражнение с сбросом байтов (в данном случае изображений) прямо на SD-карту.
Это лучший подход? Чего мне не хватает?