我有一个保存到设备内存的文件夹,我希望显示html
内容(图片,.css
样式以及我们在常规网站上找到的其他内容,但不使用任何互联网连接)。因此,该文件夹中存在所有必要的资源(css文件夹中的img文件夹样式中的图像等等)。以下是文件夹内容的显示方式
以及我如何将数据加载到webview
fun showWebsite(fileName: String) {
post { loadDataWithBaseURL(path, reader.readFileContext(fileName), "text/html", "UTF-8", null) }
}
这是我如何获得path
private val ref = WeakReference(context)
var path: String? = null
init {
path = ref.get()?.filesDir?.absolutePath + File.separator
}
这是路径值/data/user/0/com.web.webdemo/files/
我使用loadDataWithBaseURL
方法将数据加载到webview,然后将路径传递到内部存储中的web文件夹。问题是我可以看到特定html
文件的内容,除了图像和样式。那为什么呢?我做错了什么?
编辑这里是我的HTML内容
<!DOCTYPE html>
<html>
<head>
<script src="js/lib.js"></script>
<link rel="stylesheet" type="text/css" href="css/theme.css">
</head>
<body>
Hello Start
<img src="img/test.png" alt="super image">
<button onclick="next()">Press me</button>
</body>
</html>
修改
好的,所以我解决了问题的一部分。现在我的css
样式已加载。我将“file://”添加到baseUrl
完整代码
loadDataWithBaseURL("file://" + reader.path, reader.readFileContext(fileName), "text/html", "UTF-8", null)
但图像仍然缺失:/