Android从设备内存中显示webview内容

时间:2018-06-04 19:45:35

标签: android webview kotlin android-webview

我有一个保存到设备内存的文件夹,我希望显示html内容(图片,.css样式以及我们在常规网站上找到的其他内容,但不使用任何互联网连接)。因此,该文件夹中存在所有必要的资源(css文件夹中的img文件夹样式中的图像等等)。以下是文件夹内容的显示方式enter image description here

以及我如何将数据加载到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)

但图像仍然缺失:/

0 个答案:

没有答案