Je dois charger un fichier html existant dans un WebView
qui se trouve à ce chemin dans le système de fichiers:
/data/data/com.example.example/files/file.html
Mais, quand le WebView
le charge, je ne vois rien. Qui peut m'aider?
WebView
code (en supposant que path est le chemin que j'ai écrit ci-dessus):
WebView webView = (WebView)findViewById(R.id.webView1);
File htmlFile = new File(path);
if(htmlFile.exists())
{
webView.loadUrl(htmlFile.getAbsolutePath());
}
Essayez ceci, en ajoutant un file:///
et le faire un peu différemment:
WebView webView = (WebView)findViewById(R.id.webView1);
webview.loadUrl("file:///data/data/com.example.example/files/file.html");
Au lieu de cela, cependant, vous pouvez simplement placer le fichier dans votre dossier assets
dans le code source, puis procédez comme suit:
WebView webView = (WebView)findViewById(R.id.webView1);
webview.loadUrl("file:///Android_asset/file.html");
Le fichier html doit être placé dans le dossier assets, qui appartiendra au répertoire racine de votre projet.
Déplacez donc votre fichier vers en cas d'Eclipse
assets/index.html
Dans un projet Android Studio, utilisez ce dossier:
/app/src/main/assets/index.html
Maintenant, utilisez
WebView wv= (WebView)findViewById(R.id.webView1);
wv.loadUrl("file:///Android_asset/index.html");
Vous devez implémenter un ContentProvider pour mapper les fichiers locaux aux uris comme expliqué dans ce lien comment afficher un fichier local dans Android Webview
ou vous chargez simplement une page html à partir du dossier Assets comme ci-dessous:
WebView wv= (WebView)findViewById(R.id.webView1);
wv.loadUrl("file:///Android_asset/yourfile.html");
wv.getSettings().setJavaScriptEnabled(true);