Почему бы не загрузить весь HTML со стороны приложения? Если вы беспокоитесь, что эта веб-страница не будет иметь доступа к сети - используйте метод WebView.loadDataWithBaseUrl.
Для встраивания изображений в веб-страницу вы можете использовать данные: URI схема: http://en.wikipedia.org/wiki/Data_URI_scheme
Также вы можете отобразить изображения вашего приложения, даже если ваша страница загружена удаленно. Вы можете использовать WebView.loadUrl ("javascript: ....") для "отправки" данных изображений с помощью кода JavaScript (также с использованием схемы data: URI).
EDIT.
Во-первых, на стороне HTML ваш пример со встроенными изображениями будет выглядеть примерно так:
<html>
<head>
<style>
#myImage { background-image: url('data:image/png;base64,iVBORw0KG.....'); width: 50px; height: 50px;}
</style>
</head>
<body>
<div id="myImage"></div>
</body>
</html>
Когда, если вы хотите сохранить эту страницу на стороне приложения, вы можете сохранить ее где-нибудь (строковый ресурс, папка ресурсов) и когда получите ее.
String pageResource = // get it somehow
WebView myWebView;
myWebView.loadDataWithBaseUrl(
"http://my.site.com", // The base url
pageResource, // page content to load...
"text/html", // it's MIME type...
"UTF-8", // and encoding
"http://my.site.com/page.html");
Теперь WebView загрузил вашу страницу. Он загружается из локальных ресурсов, но с точки зрения WebView он загружается из сети. Здесь также есть доступ к сетевым ресурсам и коду JavaScript (это основное отличие между loadData
и loadDataWithBaseUrl
).