0

以前、WebView へのアーカイブ ファイルの読み込みについて同様の質問をしました。

チュートリアルによると、WebArchiveReader.java でメソッド loadToWebView を使用できるように、アーカイブ ファイルを InputStream にロードする必要があります。

ただし、チュートリアルでは、ライターは次のステートメントを使用してアーカイブ ファイルを取得します。

InputStream is = getAssets().open("TestHtmlArchive.xml");

残念ながら、「Assets」フォルダー以外の場所からアーカイブ ファイルを取得したいと考えています。

WebView webView = (WebView) rootView.findViewById(R.id.webview_layout);
String url = "http://www.yahoo.com";
webView.loadUrl(url);
String path = getFilesDir().getAbsolutePath() + File.separator + "yahoo" + ".html";
webView.saveWebArchive(path);
webView.loadUrl("file://" + path);

上記のコードで保存したファイル「yahoo.html」をロードしたいとします。

InputStream のインスタンスを取得するにはどうすればよいですか?

4

1 に答える 1

1

InputStream にファイルを開く正しい方法は次のように示されているようです。

            String path = getFilesDir().getAbsolutePath() + File.separator
                    + "yahoo" + ".html";

            File file = new File(path);

            try {
                InputStream is = new BufferedInputStream(new FileInputStream(file));

                WebArchiveReader wr = new WebArchiveReader() {

                    @Override
                    public void onFinished(WebView webView) {
                        System.out.println("Page loaded");
                    }
                };

                if (wr.readWebArchive(is)) {
                    wr.loadToWebView(webView);
                }

            } catch (IOException e) {
                e.printStackTrace();
            }
于 2013-01-23T23:27:02.570 に答える