android - 存储 WebView 以供离线浏览

标签 android html webview android-webview

强制 Android 在页面加载后将 webview 存储到媒体的最佳方法是什么?

更多细节:

  • 每个页面都将包含丰富的图像、脚本和样式。

  • 每页大约 0.5 到 1 兆字节。

  • 一旦调用 OnFinishedLoading Override,它们就会被保存。

  • 最好将其保存到 SD 卡,然后使用本地存储库将其备份打开。

不确定我是否应该只为 web View 使用 sql 数据库,或者获取每个 View 并将其写入文件。

如果我选择后者,最简单的方法是什么,这样我就不必编写完整的网络爬虫来链接每个文件?

最佳答案

为了在 Android 上使用缓存,您需要随 HTML 一起提供 HTML5 list 文件。

<!DOCTYPE html>
<html lang="en" manifest="manifest.file">
<head> ...

缓存机制会将 list 文件中列出的任何条目缓存到 SQLite 数据库中。请记住,数据库是每个应用程序,而不是每个 webview。 (我对此有很多问题)。

本文介绍了实现此目标所需采取的所有步骤。 http://web.archive.org/web/20140314001433/http://alex.tapmania.org/2010/11/html5-cache-android-webview.html

您可以使用此页面为缓存做一个 hello-world 示例: http://html5demos.com/offlineapp

只要在应用程序 list 中添加 WRITE_EXTERNAL_STORAGE 权限,就可以将缓存保存在 SD 卡上。

祝你好运!

关于android - 存储 WebView 以供离线浏览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8911666/

相关文章:

android - SQLite 计数示例

android - 更改上下文菜单项的文本颜色

html - 如何将特定形状应用于 div?

html - 字体不会在第一页加载时加载

html - 如何使旋转木马字幕出现在顶部?

android - 应用程序在后台崩溃

java - MPAndroidChart - 在所有可见折线图上以 x 分辨率缩放或缩放

android - 当数据在android中完成加载时如何防止Webview向上滚动

android - Webview shouldOverrideUrlLoading 适用于以前的 android 版本,除了 4.1.x jellybean

c# - ViewStartPage 只能与派生自 WebViewPage 或另一个 ViewStartPage 的页面一起使用