web-dev-qa-db-ja.com

ローカルフォルダーからウェブビューにhtmlファイルをロードする

Android開発は初めてです。

a html filea webviewにロードしたい。

SOには this のような非常に多くの関連する質問がありますが、それらはすべてassetsから**。html *を取得することに対処していることに注意してください。 =フォルダー。

しかし、「D://abc.html」と言うローカルフォルダーからhtmlファイルをロードしたいのは、私のhtmlが約10Mbである場合、対応するapkサイズも最大10MBになるためです。

任意の助けに感謝します。

編集

webView.loadUrl("file:///D:/Projects/myWebsite/index.html");を試しました

ただし、Web page not availableおよびFile not found errorを提供します。

24
GAMA

次を使用できます。

_
   WebView webView = // ...

   webView.loadUrl("file:///myPath/myFile.html");
_

Androidアプリケーションでは、ファイルは3種類の場所から読み取ることができます。

  • 内部ストレージ:各アプリには独自のファイル名があり、ファイル名はこの場所に関連しています。 URLの形式は_file:///myFolder/myFile.html_です

  • 外部ストレージ:許可が必要であり、常に利用できるとは限りません。 Environment.getExternalStorageDirectory() を呼び出してルートフォルダーを取得します。したがって、String url = "file:///" + Environment.getExternalStorageDirectory().toString() + File.separator + "myFolder/myFile.html"を使用してURLを作成します

  • Assets:apkに保存されます。読み取り専用アクセス。 URLは_file:///Android_asset/myFolder/myFile.html_の形式を取ります( Android WebViewへのリソースの読み込み も参照)

43
Tony the Pony

Android 4.4 KitKatでは、「ローカルリソースのロードが許可されていません:file:/// ..」がスローされます。

webView.loadDataWithBaseURL("file:///Android_asset/demo/",
                             tmpDocumentText,"text/html", "UTF-8", null);
4
Toni Gamez

WebViewにはloadDataメソッドがあります http://developer.Android.com/reference/Android/webkit/WebView.html

必要なのは、ファイルをStringに読み込んでから、loadDataを使用してWebViewにフィードすることだけです。

2
RobGThai