java - 将 WebView 页面保存到缓存

标签 java android caching android-webview

我有一个带有 WebView 的应用程序,我希望该应用程序在第一次连接到互联网时保存网站,以便不再需要进一步连接。我知道有些人正在将 WebView 页面保存到缓存中。我做了一些研究,找到了一些答案,例如 this one .

但问题是我需要一些示例代码来说明如何执行此操作。有人可以给我一个关于如何在 Android 上将网页 .html 文件保存到外部存储的示例吗?

这是我目前唯一能加载网页的代码。

//Connecting to UI elements
webView = (WebView) findViewById(R.id.webView1);

//Loading WebView URL
webView.loadUrl("https://www.easistent.com/urniki/izpis/263/16515/0/0/1");

我需要一些示例代码。我在网上看过很多文档和指南、示例,但我没有做任何工作。如果有人给我一个带有评论的例子,我将非常感激。

最佳答案

可以直接使用WebView缓存。

通常,这是通过 WebSettings.setCacheMode 激活的,使用模式 LOAD_CACHE_ELSE_NETWORK

Use cached resources when they are available, even if they have expired.

像这样使用:

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

但是,在您的情况下,页面声明了“无缓存”选项,这可能会阻止 WebView 将页面完全存储在缓存中。

如果您有服务器端的经验,您还可以使用应用程序缓存 API(有关其工作原理的更多详细信息,请参阅 http://www.html5rocks.com/en/tutorials/appcache/beginner/)

关于java - 将 WebView 页面保存到缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18607655/

相关文章:

JavaFX - 迭代每行 GridPane 节点 - 读取每行 GridPane 节点

java - 创建目录而不是文件

caching - Varnish 将不会缓存-年龄0

swift - 使用 Parse 加载和缓存数组或 PDF 文件以加载到 WebView - Swift

java - 使用动态形状获取鼠标检测

java - 在不传递参数的情况下从同一类中的其他方法访问 ArrayList 的方法?

Android RatingBar 怪异 : Whenever I add a RatingBar to my layout, 一堆生成的标签,抛出错误,就好像它们是未定义的

android - Google Play App Signing 在 Play 商店发布应用时出现错误

java - 享元设计模式和Java缓存有什么区别

java - 如何从一种类型转换为除了包名称之外相同的多种类型?