0

私のコード:-

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);
    // defining the WebView
    WebView myWebView = (WebView) findViewById(R.id.web);
    // Websetting can be used to define several web related settings.
    WebSettings webSettings = myWebView.getSettings();
    // Enabling JAVASCRIPT
    webSettings.setJavaScriptEnabled(true);
    // providing navigational access
    myWebView.setWebViewClient(new WebViewClient());
    // loading the URL
    myWebView.loadUrl("http://abcd.com");
}

誰もが見つけられる最も単純な Web ビューであり、そこでいくつかの変更を行いたいのですが、それができないので、plz でそれを手伝ってください。

開いているサイトには多くの画像が含まれています。ウェブサイトにアクセスすると、含まれているすべての画像とテキストがダウンロードされて UI に表示され、ページを閉じるとすべてが失われます。画像をダウンロードするには、具体的にダウンロードする必要があります。Opera Browser やその他のブラウザーで行うように。

したがって、WebView が UI で開いているすべての画像を、SDCard のディレクトリ (/sdcard/pics というパス) に自動的にダウンロードしたいと考えています。方法はありますか?

4

2 に答える 2

1

WebViewでキャッシュを有効にして、キャッシュから必要な場所にすべての画像を保存できます。

キャッシュを有効にするには、次のコードを使用します。

webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
webView.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);

キャッシュの内容の保存に関する情報は、SDカードへのAndroidWebViewキャッシュの保存にあります。

于 2012-06-27T04:46:00.103 に答える
1

WebViewキャッシュ ディレクトリ アプローチを使用する代わりに、 がイメージをロードするときに、オンザフライでイメージへのすべての要求をインターセプトすることもできます。次のいずれかのメソッドを実装する を に設定できWebViewClientます。WebView

最初の方法はすべてのデバイスで機能するはずですが、おそらくリソースを 2 回ダウンロードすることになります。1 回目は手動で SD カードの特定のディレクトリに保存し、もう 1 回はWebViewそれ自体です。2 番目の方法では、ダウンロードしたリソースをどこかに保存した後に戻すことができるため、事実上 1 回のダウンロードで済みます。

ここ SO で、またはお気に入りの検索エンジンにクエリを実行することで、多くの例を見つけることができるはずです。

于 2012-06-27T04:53:16.437 に答える