Android WebView从资源原始文件夹加载html文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android WebView从资源原始文件夹加载html文件相关的知识,希望对你有一定的参考价值。

我正在使用WebView,并且正在尝试将html文件加载到我的Resources / raw文件夹中(我无法创建资源,因为我正在使用ClassLibrary)

        webView.LoadUrl("file:///android_res/raw/test.html");

发生的事情是文件的内容被加载到WebView中,即实际的html代码

这是我在webview中看到的

<html>
<body>
    <b>TEST THISSSSS</b>
</body>
</html>

当我应该看到的是

测试时间

为什么会这样?我究竟做错了什么 ?

答案

通过流(到字符串)加载原始资源:

using (var stream = Resources.OpenRawResource(Resource.Raw.someHTMLBasedFile))
using (var streamReader = new StreamReader(stream))
{
    webView.LoadDataWithBaseURL("file:///android_asset/", streamReader.ReadToEnd(), "text/html", "UTF-8", "");
}

注意:由于您是通过资源加载的,因此如果需要通过设备的语言环境进行国际化,则可以提供res/raw-<qualifiers>文件夹。

以上是关于Android WebView从资源原始文件夹加载html文件的主要内容,如果未能解决你的问题,请参考以下文章

Android WebView资源文件,如js和css文件缓存

Android-WebView中加载本地html的方法

Android webview 不加载主页但加载所有其他页面

来自资产的 Android WebView JavaScript

Android 混合原始声音。源是java数组而不是文件或资源

从 Android 动态功能模块将资产加载到 WebView