0

我正在尝试使用 Titanium SDK v3.1.1.GA 为带有 android 4.2.2 的 nexus 7 编写一种下载管理器应用程序。除了我无法从中止的连接中恢复下载之外,一切都很好。

假设我已经下载了 1024 字节文件的 546 字节,然后连接被中止。所以下次连接时,我想从 547 字节 - 1024 字节开始下载。但我无法意识到已经下载了 546 个字节。

因为:

  1. 这 546 个字节存储在我无法访问的应用程序缓存目录 (/sdcard/Android/data/com.packagename/cache/_tmp/tihttp-XXXXXXXXXXXXtmp) 中,文档说不要依赖这些文件。

  2. 我还尝试在 ondatastream 回调中逐步写入目标文件。但问题是数据在连接的生命周期内累积在 HTTPClient.responseData 中,我无法从中删除已读取的数据,因为它是只读属性。

所以留给我的唯一选择是在 onload 回调中写入文件。但是如果没有调用中止 onload 回调,我会丢失所有已缓存且在 HTTPClient.responseData 中可用的数据。

4

0 回答 0