Je suis nouveau sur Android.
Je veux charger un fichier html dans une vue Web .
Notez qu'il y a tellement de questions pertinentes sur SO comme this , mais elles traitent toutes d'obtenir **. Html * de dossier des ressources .
Mais je veux charger le fichier html à partir du dossier local, dites "D: //abc.html" car si mon html est d'environ 10 Mo, la taille apk correspondante va également jusqu'à 10 Mo.
Toute aide appréciée.
J'ai essayé webView.loadUrl("file:///D:/Projects/myWebsite/index.html");
mais ça donne Web page not available
et File not found error
.
Vous pouvez utiliser:
WebView webView = // ...
webView.loadUrl("file:///myPath/myFile.html");
Dans une application Android Android, les fichiers peuvent être lus à partir de 3 types d'emplacements:
Stockage interne: Chaque application a ses propres, les noms de fichiers sont relatifs à cet emplacement. L'URL prend la forme file:///myFolder/myFile.html
Stockage externe: Nécessite une autorisation et n'est pas toujours disponible. Obtenez le dossier racine en appelant Environment.getExternalStorageDirectory () . Donc, construisez l'URL en utilisant: String url = "file:///" + Environment.getExternalStorageDirectory().toString() + File.separator + "myFolder/myFile.html"
Actifs : stockés dans l'apk. Accès en lecture seule. L'URL prend la forme file:///Android_asset/myFolder/myFile.html
(Voir aussi Chargement d'une ressource Android Resource dans une WebView )
Dans Android 4.4 KitKat, un "Pas autorisé à charger la ressource locale: fichier: /// .." est levé. Survient lorsque loadURL et la seule alternative que j'ai trouvée est "loadDataWithBaseURL".
webView.loadDataWithBaseURL("file:///Android_asset/demo/",
tmpDocumentText,"text/html", "UTF-8", null);
WebView a la méthode loadData http://developer.Android.com/reference/Android/webkit/WebView.html
Tout ce que vous devez faire est de lire le fichier dans String puis de le charger dans WebView à l'aide de loadData.