У меня есть html-страница, которая построена динамически. Некоторые из изображений поступают из интернет-url и других, которые я хочу загрузить из папки Assets. Страницы правильно отображают интернет-изображения, однако он просто отказывается загружать локальные изображения. Я пробовал много вариантов, включая следующие, и никто не будет загружать локальные изображения. Если все загружено из интернет-url, все страницы отображаются правильно, но я действительно не хочу идти в Интернет для статического контента, который не изменится. Есть идеи?
String pageData = "куча html разметки...";
/ / - мне пришлось удалить <из тега img ниже, чтобы получить фильтр спама на этом forum-->
/ / --try 1--> pageData + = "img src= 'file:///data/data/(мой пакет)/files/image1.png' alt= 'my image'>";
/ / --try 2--> pageData + = "img src= '/data/data/(мой пакет)/image1.png' alt= 'my image'>";
/ / --try 3--> pageData + = "img src= 'src=' data: image/jpeg; base64, '" + readAssetFileAsBase64 ("image1.png") + "' alt= 'my image'>";
/ / --try 4--> взрывчатые вещества!
Страница отображается с помощью..
webview.loadData(pageData, "текст/html", NULL);
но я тоже пробовал
webview.loadDataWithBaseURL("file://", s, "text/html", "windows-1252", null);
Я не могу использовать.loadUrl(), так как страница построена динамически. Я полагаю, что я мог бы написать динамическую страницу на диск для вызова.loadUrl(), но это не кажется настолько эффективным.
Вам нужно убедиться, что вы загружаете html с базовым URL-адресом, хотя этот базовый URL-адрес не должен быть чем-то подходящим
webView.loadDataWithBaseURL("fake://not/needed", htmlString, mimeType, encoding, "");
а затем вы можете ссылаться на вещи в папке с ресурсами, используя что-то вроде этого
file:///android_asset/image1.jpg
путь "android_asset" кажется тем, что вы еще не пробовали. Если ваши файлы не находятся в папке с вашими активами, вам необходимо обслуживать их с помощью ContentProvider, см. Этот учебник с моего сайта: http://responsiveandroid.com/2012/02/20/serving-android-webview-resources-with- содержание-providers.html