Un moyen pratique (souvent oublié) consiste à utiliser des images intégrées en base64 dans le contenu HTML. Cela fonctionnera également sur les navigateurs Webkit mobiles (IOS, Android..).
L'intérêt de cette méthode est qu'elle permet d'intégrer des images dans le contenu HTML, au lieu de se battre avec des liens d'image entre la vue Web et le système de fichiers restreint.
<img src="data:image/jpg;base64,xxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
xxxxx = base64 encoded string of images bytes
Si vous voulez fournir des données d'image (intégrées en base64) à partir du système de fichiers, vous pouvez par exemple :
1) Dans Android, utilisez ContentProvider, qui fournira des chaînes d'images formatées en base64.
<img src="content://.............."/>
2) Ou vous pouvez prétraiter le HTML avec JSOUP ou un analyseur DOM similaire (avant de le mettre en webview) et ajuster l'image src avec une image correctement encodée en base64.
Les inconvénients de cette méthode sont les frais généraux liés à la conversion de l'image en chaîne base64 et, bien sûr, à la transmission de données HTML plus volumineuses à la vue Web.
0 votes
Il est préférable de créer un fichier html et de le placer dans le dossier des actifs et d'y accéder depuis le dossier des actifs.