我一直在关注实现APK 扩展文件的指南,并且在下载器库中遇到了一些麻烦(示例实现,我一直在关注)。IDownloaderClient 接口定义了以下方法:
onDownloadProgress(DownloadProgressInfo 进度)
下载服务调用它来传递一个 DownloadProgressInfo 对象,该对象描述有关下载进度的各种信息,包括估计剩余时间、当前速度、总体进度和总进度,以便您可以更新下载进度 UI。
这被实现为:
@Override
public void onDownloadProgress(DownloadProgressInfo progress) {
mAverageSpeed.setText(getString(R.string.kilobytes_per_second,
Helpers.getSpeedString(progress.mCurrentSpeed)));
mTimeRemaining.setText(getString(R.string.time_remaining,
Helpers.getTimeRemaining(progress.mTimeRemaining)));
progress.mOverallTotal = progress.mOverallTotal;
mPB.setMax((int) (progress.mOverallTotal >> 8));
mPB.setProgress((int) (progress.mOverallProgress >> 8));
mProgressPercent.setText(Long.toString(progress.mOverallProgress
* 100 /
progress.mOverallTotal) + "%");
mProgressFraction.setText(Helpers.getDownloadProgressString
(progress.mOverallProgress,
progress.mOverallTotal));
}
问题是,无论我做什么,我都无法让我的下载器 UI 更新。我尝试过无效化、postInvalidating、在单独的线程中运行等。如果我忽略了示例实现的一些关键部分,请指出给我,但我似乎找不到它。我整天都在倾注我的代码和示例......有什么想法为什么我不能让 UI 更新?这实际上是阻止我发布我的应用程序的最后一件事。谢谢。