2012-06-27 82 views
0

我的代碼中的所有圖像: -自動下載web視圖顯示

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"); 
} 

其最簡單的WebView的人會發現在那裏,我希望做一些修改有,但我不能,所以PLZ幫助我吧。

我打開的網站包含很多圖片,現在我想知道,當訪問網站時,它包含的所有圖片和文本都會下載以在UI上顯示,當我們關閉網頁時丟失,如果我猜對了。要下載圖像,必須專門下載它。就像我們在Opera瀏覽器或其他任何瀏覽器中一樣。

因此,我想將我的webview在UI中打開的所有圖像自動下載到我的SD卡上的目錄(路徑已知/ sdcard/pics)。有沒有辦法?

+0

@hai bison兩次閱讀此行「但我無法,所以plz幫助我。」之前談論尊重和感謝您的意見(多數民衆贊成你的份額) – Mohit

+0

孩子嚴重!! ...這是你爺爺的一些英語課,我:主格單數代詞,由說話人用於指稱自己或她自己。 – Mohit

+0

有罪。對不起,下次我也會檢查可能的語法錯誤。 – Mohit

回答

1

使用高速緩存目錄方式的替代方法是截取到的圖像上的所有請求隨着WebView加載它們。您可以設置WebViewClientWebView實現以下方法之一:

第一種方法應該可以在那裏的所有設備上工作,但可能會導致下載資源兩次:一次手動將其保存在SD卡上的特定目錄中,一次通過WebView本身。第二種方法允許您在將某個下載的資源保存到某個位置後返回下載的資源,從而有效地實現了一次下載。

你應該可以在這裏找到大量的例子或者通過查詢你最喜歡的搜索引擎。

+0

thnx ...我很困惑,我需要的只是一個正確的方向。順便說一句,我可以在Support8的幫助下使用API​​8上的shouldInterceptRequest? – Mohit

+0

@ evilmage93:不幸的是,不幸的是,所有WebKit的東西都不是支持庫的一部分。 –

1

您可以在WebView上啓用緩存並將緩存中的所有圖像保存到您需要的任何位置。

要啓用緩存,使用下面的代碼:

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

您可以找到有關保存緩存內容的信息在Saving the Android WebView cache on the SD card

+0

不錯的教程,thnx的幫助。 – Mohit