WebViewにロードしたい他のいくつかのリソース(cssファイルとJavascriptライブラリ)とともにローカルhtmlページがあります。これはどのように達成できますか?
おそらく最善の方法ではありませんが、私はまだ実験中です。
最も簡単な方法は、おそらくWebリソースを assets folder に入れてから呼び出すことです。
webView.loadUrl("file:///Android_asset/filename.html");
JavaとWebview間の完全な通信について これを参照
更新:資産フォルダーは通常、次のフォルダーです。<project>/src/main/assets
これは、<app>.iml
file の資産フォルダー構成設定で変更できます。
<option name=”ASSETS_FOLDER_RELATIVE_PATH” value=”/src/main/assets” />
記事を参照 アセットフォルダーをAndroid Studioに配置する場所
おそらくこのサンプルが役立ちます:
WebView lWebView = (WebView)findViewById(R.id.webView);
File lFile = new File(Environment.getExternalStorageDirectory() + "<FOLDER_PATH_TO_FILE>/<FILE_NAME>");
lWebView.loadUrl("file:///" + lFile.getAbsolutePath());
この場合、WebView#loadDataWithBaseUrl()
を使用するほうがWebView#loadUrl()
よりも優れています!
webView.loadDataWithBaseURL(url,
data,
"text/html",
"utf-8",
null);
url:url/pathすべてのJavaScriptファイルとhtmlリンクのディレクトリを指す文字列にはOriginがあります。 nullの場合、about:blankです。 data:hmtlファイルを含む文字列。たとえば、BufferedReaderで読み取ります
受け入れられた答えは私のために働いていません、これは私のために働くものです
WebSettings webSetting = webView.getSettings();
webSetting.setBuiltInZoomControls(true);
webView1.setWebViewClient(new WebViewClient());
webView.loadUrl("file:///Android_asset/index.html");