【问题标题】:External cache for WebView to load?用于加载 WebView 的外部缓存?
【发布时间】:2012-10-09 13:33:43
【问题描述】:

我在我的应用程序中使用 WebView,我需要预先缓存一些网页以供以后使用。由于我希望缓存过程不那么令人讨厌,因此它必须不引人注意。所以最好在Service中实现。

我不知道如何实现这一点,因为 WebView 只能存在于一个活动中。有什么方法可以将网页缓存到本地存储,然后让 WebView 加载它吗?或者我怎样才能用另一种方法实现这些功能?

【问题讨论】:

    标签: android caching webview


    【解决方案1】:

    只要网页在退出之前不调用 LocalStorage.clear,数据就应该在 SQLite 数据库中可用。

    如果我的记忆正确是在 4.03 以下,那么路径类似于 /data/data//app_database/localstorage/file__0.localstorage

    由于本地存储数据保存在名为 ItemTable 的 SQLite 表中,因此您可以使用 SQLite API 读取这些数据(在相同的上下文中)。

    因此,您可以通过向此表中插入来预先填充您的服务中的表。

    很抱歉没有粘贴任何代码 - 我没有它,但这会起作用 - 我已经完成了

    【讨论】:

    • 首先,感谢这个想法。由于我在Android中如此不成熟,我不知道如何实现这个......请你告诉我我应该使用什么方法来缓存内容?
    • 首先看一下 SQLite 类 developer.android.com/reference/android/database/sqlite/… - 您可以使用这些类来读/写本地存储数据库。由于 ItemTable 只是字符串,因此很容易将它们映射到您的数据结构中。还可以查看 sqlite 工具,例如 firefox 插件 - 这将让您检查表模式等。
    【解决方案2】:

    请阅读这个主题,你应该在那里找到答案,它有详细的解释:

    http://alex.tapmania.org/2010/11/html5-cache-android-webview.html

    【讨论】:

    • 对不起,我只是一个Android的初学者......似乎网页正在教我们通过webview本身缓存网页,但我需要的是通过其他缓存内容方法或通过 webview 静默。提供的网页未提及此功能。
    猜你喜欢
    • 2013-04-19
    • 2013-06-20
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多