复制网站以供离线使用

时间:2013-08-13 11:44:16

标签: android webview

我正在Android应用中的WebView中显示一个网站。由于这是我的应用程序必须经常访问的特定页面,因此我想在用户没有连接时提供它的缓存版本。因此,如果用户具有互联网连接,则将从互联网访问该网站并且将进行复制。如果您再次访问但没有连接,则应显示缓存版本。

我的应用适用于API 9及更高版本。

我的问题是,您将如何从特定页面下载所有资源?

2 个答案:

答案 0 :(得分:1)

一旦用户访问该视图,webview就已经为您完成了这项工作。页面已加载并缓存。您可以将webview设置为在SD卡上缓存,如下所示:

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

link to docs

如果此默认行为不够,您可以查看使用httpclient获取内容并存储该信息。但是,您必须先调整您的网页视图,然后先查看,然后您必须确保下载网页所需的所有资源。

答案 1 :(得分:1)

所以这些是你要问的两个问题。关于WebView和缓存的一点已经回答了。

关于这一点“我的问题是,您将如何从特定页面下载所有资产?”,请查看以下链接:

第一个链接是Java中的爬虫实现,第二个链接基本上是在Android上使用的代码(有点糟糕),第三个链接应该为您提供足够的信息来下载文件。

希望这有帮助