下载的图像不完整,但是图像仍显示使用Android剪切吗?

时间:2018-08-23 11:47:00

标签: android android-image

我有一个Android应用程序,可以正常使用下载一些图像。在大多数情况下,当发生错误(网络,磁盘空间等)时,会引发异常,我只知道并删除Dim cbs = selectedTab.Controls.OfType(Of ComboBox)().ToArray() Dim cbb = cbs(0) Dim cbc = cbs(1) 块中的下载文件。

但是,有时,下载未完成,并且显示了图像但将其切断。 (即图像的一半可见,左侧显示为白色)

关于如何检测此错误的任何建议,以便删除文件并要求用户再次下载?

这是代码:

catch

1 个答案:

答案 0 :(得分:1)

好吧,我想既然您所解释的图像是一半下载的图像,您可以执行以下操作:检查实际下载了多少图像,然后根据该图像决定是删除还是保留。在您的代码中,行int fileLength = connection.getContentLength();将帮助您完成此操作。只需检查 fileLength 和下载的图像文件长度是否相等或接近相等即可。如果是,则表示已成功下载。我只是在猜测,代码可能是这样的:

int fileLength = connection.getContentLength();
if (fileLength != -1) {
    if (fileLength == file.length()) {
        System.out.println("file is complete");
    } else {
        System.out.println("file is incomplete");
    }
} else {
    System.out.println("unknown if file is complete");
}

稍作调整,您可能应该得到想要的东西。

OR

greenapps指出,您还可以使用这种方法:

  1. 分配一个int变量int totalcount = 0;
  2. 通过totalcount += count;循环增加
  3. 循环完成后,将 totalcount fileLength
  4. 进行比较