2

Android アプリの WebView 内に Web サイトを表示しています。これは私のアプリが頻繁にアクセスする必要がある特定のページであるため、ユーザーが接続していない場合に備えて、キャッシュされたバージョンを提供したいと考えています。したがって、ユーザーがインターネットに接続している場合、Web サイトはインターネットからアクセスされ、コピーが作成されます。再度アクセスしても接続がない場合は、キャッシュされたバージョンが表示されます。

私のアプリは API バージョン 9 以降用です。

私の質問は、特定のページからすべてのアセットをダウンロードするにはどうすればよいですか?

4

2 に答える 2

1

ユーザーがそのビューにアクセスすると、webview は既にそれを行っています。ページが読み込まれ、キャッシュされます。次のように、webview を sd カードにキャッシュするように設定できます。

webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

ドキュメントへのリンク

このデフォルトの動作では不十分な場合は、httpclient を使用してコンテンツを取得し、その情報を保存することを検討できます。ただし、最初にそこに移動するように webview を調整する必要があり、web ページが必要とするすべてのリソースをダウンロードする必要があります。

于 2013-08-13T11:54:07.220 に答える
1

したがって、これらはあなたが尋ねている2つの質問です。WebView とキャッシュに関する 1 つのビットは、既に回答済みです。

このビット「私の質問は、特定のページからすべてのアセットをダウンロードするにはどうすればよいですか?」については、次のリンクを確認してください。

最初のリンクは Java でのクローラーの実装です。2 番目のリンクは基本的に Android で使用されている (やや悪い) コードです。3 番目のリンクは、ファイルのダウンロード方法について十分な情報を提供するはずです。

お役に立てれば

于 2013-08-13T11:58:43.023 に答える