所以我试图将我的sqlite数据库中的一些HTML加载到webview中。 这很好用,因为html渲染得很漂亮,但问题出在这里。 html中添加的本地文件没有加载。我将它添加到此层次结构中的assets文件夹:assets / folder1 / folder2 / placeholder.png但我得到一个不允许加载本地资源:错误。我怎么能过去这个。
请注意,数据正在从数据库中填充。
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setAllowFileAccess(true);
webView.loadData(data, "text/html", "UTF-8");
这是上面网络视图的代码。
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><h2 style="color:red;">Hello Chief</h2><p>This is just a demo HTML content rendered beautifully</p><br><img src="file:///android_asset/folder1/folder2/placeholder.png"></body></html>
上面的代码是来自sqlite数据库的数据。
My Assests文件夹看起来像这样
-assets
- folder1
- folder2
-file
由于
答案 0 :(得分:1)
webview中有一种方法可以加载带有基本URL的html文件
webview.loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl)
在baseUrl中将其命名为
file:///android_asset/
或者使用Jsoup解析html文档并使用Jsoup Parser替换所需标记的src。