首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Android中检查图像半加载或未加载

在Android中检查图像半加载或未加载
EN

Stack Overflow用户
提问于 2015-06-16 05:09:02
回答 2查看 705关注 0票数 8

我从API中获得图像作为BLOB类型。我的储蓄如下,

代码语言:javascript
运行
复制
public static void setOptimalImage(Context ctx, File file, ImageView iv,
            Point size) {
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(file.getPath(), options);
        if (options.outHeight > 0 && options.outWidth > 0) {
            if (size == null) {
                size = new Point();
                WindowManager wm = (WindowManager) ctx
                        .getSystemService(Context.WINDOW_SERVICE);
                wm.getDefaultDisplay().getSize(size);
            }
            options.inSampleSize = Utils.calculateInSampleSize(options, size.x,
                    size.y);
            options.inJustDecodeBounds = false;
            try {
                iv.setImageBitmap(BitmapFactory.decodeFile(file.getPath(),
                        options));
            } catch (OutOfMemoryError oome) {
                Log.e(Utils.class.getName(),
                        oome.getMessage() == null ? "OutOfMemory error: "
                                + file.getName() : oome.getMessage());
            }
        }
    }

现在我面临的问题是,

当我保存它时,有时图像只保存half.Now,我的问题是,

  • 是否有任何方法检查文件路径中的图像是否已被一半加载(这意味着已损坏)?

编辑:

  • 我正在从服务器下载一张图片。同时,我失去了我的网络连接。在这种情况下,我的图片下载了一半。我能以编程的方式得到那些损坏的图像吗?或者知道在这种情况下该怎么处理?

任何帮助都会很感激的。

谢谢。

附加图像以供参考:

EN

回答 2

Stack Overflow用户

发布于 2015-09-03 08:28:21

我认为你发现了检测损坏图像的错误方向。使用API和请求管理加载(或半加载)位图很容易。您还可以拥有一个文件(或者更好的数据库),在该文件中您将获得有关下载图像的信息。

我看到多个检查,“是图像下载了吗?”

  • API应该告诉您要下载的图像的预期大小。加载完成后,您必须检查大小并比较它们是否等于
  • 您可以用什么错误代码检测您的请求已经完成。如果它是用成功代码完成的,您可以标记您的图像已加载。

在显示期间,您可以检测哪些图像已完全加载。

票数 1
EN

Stack Overflow用户

发布于 2015-09-03 08:38:17

理想情况下,您应该让API返回每个文件的校验和(例如MD5)。然后,您可以使用Android中相同的算法为下载的文件生成校验和,并将其与从API返回的校验和进行比较。有关如何生成校验和的详细信息,请查看java.security.MessageDigest类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30859247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档