web-dev-qa-db-ja.com

webViewでのローカルhtmlファイルの読み込みandroid

ファイルシステムのこのパスにあるWebViewに既存のhtmlファイルをロードする必要があります。

/data/data/com.example.example/files/file.html

しかし、WebViewがそれをロードしても、何も表示されません。誰が私を助けられるか?

WebViewコード(パスは上記で書いたパスであると仮定):

 WebView webView = (WebView)findViewById(R.id.webView1);

  File htmlFile = new File(path);
    if(htmlFile.exists())
    {
        webView.loadUrl(htmlFile.getAbsolutePath());

    }
18
donadev

これを試して、file:///と少し異なる方法で行う:

WebView webView = (WebView)findViewById(R.id.webView1);
webview.loadUrl("file:///data/data/com.example.example/files/file.html");  

ただし、これの代わりに、ソースコードのassetsフォルダーにファイルを配置して、これを行うことができます。

WebView webView = (WebView)findViewById(R.id.webView1);
webview.loadUrl("file:///Android_asset/file.html");
43
hichris123

Htmlファイルは、プロジェクトのルートディレクトリに属する​​アセットフォルダーに配置する必要があります。

だから、Eclipseの場合にファイルを移動する

assets/index.html

Android Studioプロジェクトでは、次のフォルダーを使用します。

/app/src/main/assets/index.html

使用する

WebView wv= (WebView)findViewById(R.id.webView1);
wv.loadUrl("file:///Android_asset/index.html");
22
Nauman Ash

このリンクで説明されているように、ContentProviderを実装してローカルファイルをURIにマップする必要があります ローカルファイルをAndroid Webview に表示する方法

または、以下のようなAssetsフォルダーから任意のhtmlページをロードするだけです。

 WebView wv= (WebView)findViewById(R.id.webView1);
 wv.loadUrl("file:///Android_asset/yourfile.html");
 wv.getSettings().setJavaScriptEnabled(true);
6
M D