我正在编写的一个 Android 应用程序涉及大量的内容下载(想想 podcatcher/RSS)。
我希望能够让用户知道他们下载了多少字节,这样他们就可以决定是否要使用 Wifi。
为此,我找到了一种计算应用程序读取的字节数的方法,方法是将 an 包装InputStream
在一个简单的CountingInputStream
.
但是,这并没有考虑数据包头和 HTTP 头等基本内容。更重要的是,它没有考虑对内容进行编码的任何压缩。
那么,我的应用程序通过网络下载了多少字节?我对上传的字节数不太感兴趣,但如果知道如何,请不要害羞。
在将输入流输入 XML PullParser 时,我采用了一种相当低级的方法。我还需要做一个类似的练习,将字节(在这种情况下为图像)直接转储到 SD 卡上。
这是最好的方法吗?我错过了什么?