下载并显示HTML文件

3

我需要通过REST API下载一个包含图片的HTML文件的内容。然后将它们存储以供离线使用。当需要时,我想在WebView中显示HTML页面(当然包含图片)。 REST结果应该类似于:

{
"id": 45,
"html": "<!DOCTYPE html><html><body><h1>My Heading</h1><p>My paragraph.</p><img src='abc.com/images/54289847.jpg' alt='any' width='104' height='142'></body></html>",
"imagePath": "abc.com/images/54289847.jpg",
"moreData": "something more"
}

那么,最有效的方法是什么?

我计划将加密的HTML内容保存在任何文件中的本地存储器中。图片也是同样的做法。然后解密,并加载到WebView中。但这对于图片是否可行?

我不需要任何代码,请给我建议。

2个回答

2

在这个例子中,字符串被加载到了webview中。

String summary = "你得了192分。"; webview.loadData(summary, "text/html", null);

如果您从输入流中获取字符串并将其传递给webview,该怎么办?IOUtils.toString(context.getResources().openRawResource())


2

我不是安卓开发者,但您不能获取“图像数据网址”并将其用作图像本身吗?例如,您的头像数据网址是:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADYUlEQVRYhe2W7UtTYRjGj2VqZSFC4AtSS+d8Wa5pKaWbnql7dVMsxEjDisjMVAoKkvxgUEFZhJVT6MWioBeCvkX0j/SxP0D6srOzuZ1zdZ9ztnl0x9cZEvjh5kx39jy/+7qv+34ehhnwYUtjG+D/AbiqipX+t+kA0uLDPhT2enCxw4VJuwNTLXb4Ke46HXCddiPzQtvCu5sKMOJDTbcH362tEA02oJgFypdECYs/lc2453Ag+3Lb+iGW/WLIi3HKEBUW2sQC7jCLQIV2CDGYOWMznKSIBJ4awDUvPrJ2oJBFuLMckTs54L1GBHQOBKoalwWRFdHb0N/uTAGA6MdclLmOBVdmQfRJBvCVgTiVicjoAYROlSNQbltZDYKwdLnXVo6lhjOf8QClNnDSgpVN4FkThIls4A0DfGIQ7tMhkOdBoMy2OFRQkhK/Tc1IG/CuE4Dc/oMMJy0gLyY9i5wItZohTmQCMwyio7ngm46BbzCDt1I0VNOzGsH6Ohk4AUGGvd7mXF0Fdfa6HsreEMuegjNbMD9cBFHK3p8GTDMyBGbTFEVmGeX5gcAIkKs9qUDHVPhV1wJmcBUV1ACDPie5fiF7ru4EhGc7gXeMsrlWzMRK01NCJl3wgpSEVEo9JbWiCuo/pmm4JOSPL6RvQWQoX9lIA0Cc3I35/iJwpc2J7NVl6O10rRHgig8/La1JAIGDDgXgrcbmM+ngJdmLXOCO1Ce3JcWljlQBaADN3yhILgMpIvozECSFeHcVIg+zwBmsKQAsUwKpvXjrUYgv0xcD+CneM7I6kZE8iGRITuoCdTuuqwRLTagC4IxNEJ9nLfjgxQ4I4/sRpQkZvZ0L8RUjl4i3mZSZsCETarRhwohkMOHRPgVgilrwdRqEx9kIn9XTHKhFdCwH+EydcJ6G1CHbBttQaxAljMgicitf3kR4sAfC010IdRkQtB6nDR0ItRuAL1SOwQL53Y0NIq1RrJoJvMuE8Lli2XBBtkbZSALV2RDyGYFvBHAzn4BSGcXqw6iYTSqF1BGyydSHEX2WgKL39yLcXQpB35jCYRSP+HGsBaEVZFLebqb3rfJvUjuO4xG/kFA2kqQrgchHsMmCORO7SRcSVTlqut1rv5L1beaVTGXMrbuULgXZkmv5v45tgK0G+At38NtPjlXm2AAAAABJRU5ErkJggg==

如果你将以下内容粘贴到计算机的浏览器(作为URL)或者<img>标签中,你将看到你的头像。


考虑了一下,打算试一试。 - A. K. M. Tariqul Islam
这是一个解决方案,但不高效,因为整个文件将被加载到内存中。所以,正在等待更好的想法。 - A. K. M. Tariqul Islam
1
有没有可能在不通过 RAM 的情况下在显示器上显示任何内容?我认为不可能!所有东西在去往其他地方之前都会经过内存! - Pouya Abbassi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接