【问题标题】:Android HTML resource with references to other resources引用其他资源的 Android HTML 资源
【发布时间】:2011-03-18 17:54:11
【问题描述】:

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

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

有没有一种特殊的方法可以将 HTML 资源传递给WebView

谢谢!

【问题讨论】:

标签: html android resources embedded-resource drawable


【解决方案1】:

html 文件进入根目录下的 assets 文件夹(作为 res 的同级文件夹)以及所有可绘制对象。您可以通过执行类似的操作来查看它

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

【讨论】:

  • 感谢 EboMike。以及如何从 html 文件中引用其他非资产资源?它们不能是可绘制的吗?
  • 它是 HTML,所以你需要让它工作,这样 WebKit 才能渲染它。我假设您可以简单地使用 并将该图像放入 assets 文件夹中。如果您有动态可绘制对象,您可以将它们保存到 sdcard 并使用“file:///sdcard/image.jpg”引用它们。这不是我的想法,语法可能不正确。
  • BitmapDrawables 怎么样?我想避免复制文件(一个副本在 res/drawables 中,另一个在 assets 中)以减小应用程序的文件大小。
  • WebKit 无法访问您应用的资源。我想知道您是否可以做一些奇特的事情并创建自己的内容提供程序,例如 myapp://pictures/picture.jpg,它会抓取资源并将其发回。但这太过分了。如果将它们复制到 SD 卡,它们至少不会计入内部存储。可能有更好的解决方案,但没有什么明显的想法。或者,您可以尝试从 assets 文件夹中的位图创建图像 - 就像加载外部图像文件并从中创建 Drawable 一样加载它们。
  • 将其包含在资产中也意味着它不能位于库项目中,因为您必须将这些资产复制到使用该库的所有应用项目中,或者使用另一个使用该库的库。跨度>
【解决方案2】:

如果您的文件在 SD 卡上,则此参考将有效:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 2020-07-09
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多