2012-06-27 52 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