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

时间:2017-12-21 16:18:13

标签: xamarin xamarin.android android-webview

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

typeof(Math).GetMethod("Sin")

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

这是我在网络视图中看到的

Complete output from command python setup.py egg_info:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Anaconda\lib\site-packages\setuptools-27.2.0-py3.6.egg\setuptools\__init__.py", line 10, in <module>
  File "C:\Anaconda\lib\site-packages\setuptools-27.2.0-py3.6.egg\setuptools\extern\__init__.py", line 1, in <module>
  File "C:\Anaconda\lib\site-packages\setuptools-27.2.0-py3.6.egg\pkg_resources\__init__.py", line 35, in <module>
  File "C:\Users\DIMITR~1.LIA\AppData\Local\Temp\pip-build-1vvnmrhi\email\email\parser.py", line 10, in <module>
    from cStringIO import StringIO
ModuleNotFoundError: No module named 'cStringIO'

当我应该看到的是

    测试时间

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

1 个答案:

答案 0 :(得分:1)

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

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>个文件夹。