【发布时间】:2011-05-28 14:19:00
【问题描述】:
大家!我已将大量图片压缩为“pictures.zip”文件。我想将其中一张图片加载到这样的 WebView 中:
WebView wv = (WebView)findViewById(R.id.WebView01);
wv.loadDataWithBaseURL(null,"<img src=\"abc.jpg\">", "text/html", "UTF-8", null);
这里的“abc.jpg”是一张已经压缩成pictures.zip文件的图片。
我只是想从zip文件中解压图片并得到 图片的字节流,然后 将图像加载到 WebView 字节流。
我不想解压 图片来自 zip 文件,然后 保存到 sdcard 然后加载。
此外,我不想编码 将图片的字节转换为base64,然后 将图像加载到 WebView 要么,因为这两种方式将 非常慢。
【问题讨论】:
-
@user549380:首先,为什么需要使用 WebView?其次,您的逻辑不正确 - 使用 "" 意味着引用某种本地或其他类型的“文件”。据我目前所读,您无法使用 android 创建“内存中”文件,如果可以的话,我看不出 WebView 如何访问它们。
-
著名软件“mdict”可以从其资源文件(.mdd 文件)中加载图像,而无需将图像存储到硬盘中。它只是使用 之类的 html 来加载压缩为 .mdd 文件的 abc.jpg。
-
展示 mdict 如何使用 的示例,它可能会进一步解释。
-
通过 [Overriding webviewClient][1] 可以实现,但需要 android 级别 10+ [1]:stackoverflow.com/questions/4780899/…