安卓HTML资源与其他资源的引用

4

我想在我的Android项目中添加一个HTML资源,并引用其他资源(主要是drawable)。

我应该把它放在哪里,如何从中引用其他资源?

有没有特别的方法将HTML资源传递给WebView

谢谢!


以下问题可能会更清晰地呈现。 https://dev59.com/XUrSa4cB1Zd3GeqPZMrP - Thomas
2个回答

13

HTML文件应该放在根目录的assets文件夹中(与res同级),以及所有的drawable文件。您可以通过执行类似以下内容的操作来查看它:

webView.loadUrl("file:///android_asset/filename.html");

1
谢谢EboMike。那么如何从HTML文件中引用其他非资源资料呢?它们不能是可绘制的吗? - hpique
这是HTML,所以你需要让它能够工作,以便WebKit可以呈现它。我假设你可以简单地使用<img src="image.jpg">并将该图像放入资产文件夹中。如果您有动态可绘制对象,可以将它们保存到SD卡上,并使用"file:///sdcard/image.jpg"引用它们。这是我脑海中的想法,语法可能不正确。 - EboMike
位图可绘制对象怎么样?我想避免复制文件(一份在res / drawables中,另一份在资产中),以保持应用程序的文件大小。 - hpique
WebKit无法访问您应用的资源。我想知道您是否可以做一些奇特的事情,比如创建自己的内容提供程序,例如myapp://pictures/picture.jpg,它可以获取资源并将其发送回来。但这有点过度了。如果您将它们复制到SD卡上,它们至少不会占用内部存储空间。可能有更好的解决方案,但没有明显的解决方法。或者,您可以尝试从资产文件夹中的位图创建图像-只需像加载外部图像文件一样加载它们,并从中创建可绘制对象。 - EboMike
将其放在资源中也意味着它不能作为库项目存在,因为您必须将这些资源复制到使用该库的所有应用项目中,或者使用另一个使用该库的库。 - Marcus Wolschon

0
如果您的文件在SD卡上,此引用将起作用:

content://com.android.htmlfileprovider/sdcard/filename.jpg


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