1. ホーム
  2. android

[解決済み] android WebViewで既存の.htmlファイルを読み込む

2023-03-19 06:46:09

質問

Googleコードのサンプルやデモ、その他のリソースで WebView を使用したサンプルやデモを試しましたが、私自身のコードでそれを実行しようとすると、それは私のために動作しません。

私はロードしたい myfile.html を読み込んで使用します。

private WebView myWebView;

myWebView.loadUrl("file:///android_assets/myfile.html");

エミュレータではエラーが表示されます

<ブロッククオート

のウェブページは file:///android_assets/myfile.html にあるウェブページは として読み込まれました。要求されたファイルは見つかりませんでした。 /android_assets/myfile.html

このファイルを res/raw/ フォルダにコピーして使用します。

myWebView.loadUrl("file:///android_res/raw/myfile.html");

を実行すると、エミュレータアンドロイド2.2 APIレベル8のみ、おそらくファイルをロードすることができ、他の古いバージョンでは、同じエラーが表示されます。私は何かを見逃していますか?

すべての API バージョンで動作する、アプリケーションパッケージ内の既存の .html ファイルを読み込む方法はありますか?

どのように解決するのですか?

OK、それは私の非常に愚かなミスでした。私は誰かが同じ問題を持っている場合に備えて、ここに答えを投稿します。

assets フォルダに格納されているファイルの正しいパスは次のとおりです。 file:///android_asset/* (です(assetsフォルダには"s"が必要だとずっと思っていましたのでありませんでした)。

そして mWebView.loadUrl("file:///android_asset/myfile.html"); はすべての API レベルで動作します。

私はまだ、なぜ mWebView.loadUrl("file:///android_res/raw/myfile.html"); が API レベル 8 でしか動作しないのか、まだ理解していません。しかし、それは今では重要ではありません。