Javascript 在安卓系统中';s WebView,what';'DomStorage'、'Database'、'AppCache'之间有什么不同?
在Android的WebView中,Javascript 在安卓系统中';s WebView,what';'DomStorage'、'Database'、'AppCache'之间有什么不同?,javascript,android,caching,local-storage,android-webview,Javascript,Android,Caching,Local Storage,Android Webview,在Android的WebView中,DomStorage、Database和AppCache之间有什么区别 我对这三种设置感到困惑。现在我需要一个WebView实例,可以在JavaScript中使用localStorage 以下是一个例子: if (localStorage['avatar_user_' + nick]) { obj.src = localStorage['avatar_user_' + nick]; } else { va
DomStorage
、Database
和AppCache
之间有什么区别
我对这三种设置感到困惑。现在我需要一个WebView实例,可以在JavaScript中使用localStorage
以下是一个例子:
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() {}
);
}
在上面的代码中,我确实从web上获得了图像,下次需要时,它将从localStorage加载,但该存储只会持续应用程序的生命周期
如果我重新启动我的应用程序,那么图像将再次从web加载
我按如下方式设置我的WebView:
mWebSettings.setAppCacheEnabled(true);
mWebSettings.setDomStorageEnabled(true);
mWebSettings.setDatabaseEnabled(true);
mWebSettings.setDatabasePath("file:///data/data/com.xxx/databases");
但是我可以在file:///data/data/com.xxx/databases
在本地存储中添加内容时保持不变
所以我的问题是如何让我的网页存储数据,并在应用程序关闭后保存它们
如果我在一个应用程序中使用多个WebView并将数据库路径指向同一文件夹,这是否重要
如果你能告诉我DomStorage
、Database
和AppCache
之间的区别,那就更好了 问题解决了!我刚才犯了一个错误,我使用了file:///data/data/com.xxx/databases
作为数据库路径,它应该是/data/data/com.xxx/databases
而不是文件://
仍然在等待关于DomStorage
,数据库
,AppCache
,之间差异的答案,我不是百分之一百确定,但DomStorage似乎是WebStorage的同义词。这是一种将数据以键=值对的形式存储在客户端站点上的技术。
数据库表示将启用客户端SQL数据库。
AppCache是一种使整个网站可供脱机使用的技术。