【发布时间】:2012-10-09 13:33:43
【问题描述】:
我在我的应用程序中使用 WebView,我需要预先缓存一些网页以供以后使用。由于我希望缓存过程不那么令人讨厌,因此它必须不引人注意。所以最好在Service中实现。
我不知道如何实现这一点,因为 WebView 只能存在于一个活动中。有什么方法可以将网页缓存到本地存储,然后让 WebView 加载它吗?或者我怎样才能用另一种方法实现这些功能?
【问题讨论】:
我在我的应用程序中使用 WebView,我需要预先缓存一些网页以供以后使用。由于我希望缓存过程不那么令人讨厌,因此它必须不引人注意。所以最好在Service中实现。
我不知道如何实现这一点,因为 WebView 只能存在于一个活动中。有什么方法可以将网页缓存到本地存储,然后让 WebView 加载它吗?或者我怎样才能用另一种方法实现这些功能?
【问题讨论】:
只要网页在退出之前不调用 LocalStorage.clear,数据就应该在 SQLite 数据库中可用。
如果我的记忆正确是在 4.03 以下,那么路径类似于 /data/data//app_database/localstorage/file__0.localstorage
由于本地存储数据保存在名为 ItemTable 的 SQLite 表中,因此您可以使用 SQLite API 读取这些数据(在相同的上下文中)。
因此,您可以通过向此表中插入来预先填充您的服务中的表。
很抱歉没有粘贴任何代码 - 我没有它,但这会起作用 - 我已经完成了
【讨论】:
请阅读这个主题,你应该在那里找到答案,它有详细的解释:
http://alex.tapmania.org/2010/11/html5-cache-android-webview.html
【讨论】: