45 votes

Chargement d'une ressource Android dans une vue Web

J'ai une application Android qui affiche une bande dessinée. Pour rendre l'utilisation des commandes de zoom, je suis le chargement des images dans une webview comme suit:

webView.loadUrl("file:///android_asset/page1.jpg");

Cela fonctionne très bien, cependant, étant donné que les images sont dans le dossier des ressources, ils ne sont pas compressés qui a fait de ma .apk énorme. Je me demandais comment faire référence à des fichiers de ressources (à partir de la res/drawable dossier) avec un chemin de fichier comme je l'ai fait ci-dessus avec les actifs. Personne ne sait ce que la trajectoire de l'air? J'ai essayé des choses comme "file:///res/drawable/pagetitle.jpg" sans succès. Merci pour l'aide.

Mise à jour: j'ai trouvé que "file:///android_res/drawable/page1.jpg" était le chemin que je cherchais.

20voto

runor49 Points 1255

de ce site

En utilisant l'ID de la ressource, le format est le suivant:

 "android.resource://[package]/[res id]"

Uri path = Uri.parse("android.resource://com.androidbook.samplevideo/" + R.raw.myvideo);
 

ou, en utilisant le sous-répertoire de ressources (type) et le nom de la ressource (nom de fichier sans extension), le format est le suivant:

 "android.resource://[package]/[res type]/[res name]"

Uri path = Uri.parse("android.resource://com.androidbook.samplevideo/raw/myvideo");
 

6voto

Sean Moore Points 91

Je devais également utiliser loadDataWithBaseURL au lieu de simplement loadData pour que les file:///android_res/drawable/page1.jpg fonctionnent.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X