ファイルシステムのこのパスにある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());
}
これを試して、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");
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");
このリンクで説明されているように、ContentProviderを実装してローカルファイルをURIにマップする必要があります ローカルファイルをAndroid Webview に表示する方法
または、以下のようなAssetsフォルダーから任意のhtmlページをロードするだけです。
WebView wv= (WebView)findViewById(R.id.webView1);
wv.loadUrl("file:///Android_asset/yourfile.html");
wv.getSettings().setJavaScriptEnabled(true);