У меня есть папка, которая сохраняется во внутренней памяти устройства, и я хочу отобразить html
контент (с изображениями, .css
стилями и другими вещами, которые мы нашли на обычных веб-сайтах, но без использования подключения к Интернету ).Таким образом, все необходимые ресурсы существуют в этой папке (изображения в стилях папки img в папке css и т. Д.). Вот как выглядит содержимое папки
и здеськак я загружаю данные в 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
, и я передаю путь к веб-папке во внутренней памяти.Дело в том, что я могу видеть содержимое конкретного 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)
Но изображения по-прежнему отсутствуют: /