Можно ли отображать изображение с помощью метода loadDataWithBaseURL () в android?

Я пытаюсь отобразить содержимое html-файла с помощью метода loadDataWithBaseURL () в android.

У меня есть строка, содержащая данные файла Html в одном источнике, называемом String, и затем передаю это методу.

например,

String source; //contain html tags with images View.loadDataWithBaseURl(null,source,"text/html","UTF-8","about:blank"); 

Данные, отображаемые в поле зрения, прекрасны. Моя проблема в том, что если в моем html-файле содержатся какие-либо изображения, то я не мог его отобразить? Как мне это сделать?

вы можете сделать это, если изображения в источнике используют относительные местоположения для src, тогда вам нужно установить baseUrl на «базу», где будут располагаться изображения. например, если вы загружаете домашнюю страницу Google из источника, это будет выглядеть так:

 View.loadDataWithBaseURI("http://google.com",source,"text/html","UTF-8","about:blank"); 

Это сообщает веб-обозревателю, откуда будут загружены изображения.

В качестве побочного примечания я не думаю, что URI-файлы «file: //» работают в веб-представлении по соображениям безопасности.

используйте « файл: /// android_res / raw / » в качестве базового URL-адреса и поместите ваши файлы в res / raw в свой проект.

разреш / сырья / index.html

разреш / сырой / image.jpg

 InputStream htmlStream = getResources().openRawResource(R.raw.index); Reader is = new BufferedReader(new InputStreamReader(htmlStream, "UTF8")); // read string from reader String html = readFile(is); webView.loadDataWithBaseURL("file:///android_res/raw/", html, "text/html", "UTF-8", null); 

Я сделал учебник о том, как использовать метод loadDataWithBaseURL () для отображения изображений – http://lomza.totem-soft.com/tutorial-using-webview-to-load-the-html-page-from- активы / # заголовок

Например, если вы хотите использовать некоторые изображения с SD-карты, то ваш код должен выглядеть примерно так:

final String path = Environment.getExternalStorageDirectory() + File.separator + "YourFolderName"); bookView.loadDataWithBaseURL("file://" + path, htmlTextWithHeadAndBody, "text/html", "UTF-8", "");