【发布时间】:2012-02-23 04:34:23
【问题描述】:
在Android的WebView中,DomStorage、Database和AppCache有什么区别?
我对这三个设置感到困惑。现在我需要一个可以在 JavaScript 中使用 localStorage 的 WebView 实例。
这是一个例子:
if (localStorage['avatar_user_' + nick]) {
obj.src = localStorage['avatar_user_' + nick];
} else {
var url = avatar_path + nick + '/avatar.jpg';
new Oauth().img("jpeg", url,
function(data) {
if (data != '') {
obj.src = data;
localStorage['avatar_user_' + nick] = data;
}
}, function() {}
);
}
在上面的代码中,我确实是从网络上获取图像的,下次我需要它时会从 localStorage 加载它,但存储只持续到应用程序的生命周期。
如果我重新启动我的应用程序,那么图像将再次从网络加载。
我的 WebView 设置如下:
mWebSettings.setAppCacheEnabled(true);
mWebSettings.setDomStorageEnabled(true);
mWebSettings.setDatabaseEnabled(true);
mWebSettings.setDatabasePath("file:///data/data/com.xxx/databases");
但是当我将某些内容添加到 localStorage 中时,我可以看到 file:///data/data/com.xxx/databases 中的文件保持不变。
所以我的问题是如何让我的网页存储数据并在应用关闭后保留它们?
如果我在一个应用中使用多个 WebView 并将 DatabasePath 指向同一个文件夹,这是否重要?
如果你能告诉我DomStorage、Database 和AppCache 之间的区别,那就更好了!
【问题讨论】:
标签: javascript android caching local-storage android-webview