我正在开发一个使用Webview来显示数据的Android应用程序 . 我在webview中使用的网站使用HTML 5的localStorage API .
要启用此功能,我已将webview设置设置为:
webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setJavaScriptEnabled(true);
所以localStorage API工作,但当我关闭应用程序(并终止进程)时,localStorage被完全擦除,当我重新加载它时,我的所有数据都丢失了 .
我的问题很简单:即使关闭应用程序,如何使Web视图的DomStorage持续存在?
谢谢你所有未来的答案 .
5 回答
你设置了DatabasePath吗?如果您没有设置调用,Android默认情况下不知道在哪里保存DOMDatabase
您必须启用数据库并设置其路径:
第一线让我流了很长一段时间......
上面的帖子混合了两个不同的概念:
在会话关闭后使数据保持不变,请确保您没有使用(在您的javascript上)sessionStorage
DOMStorage和数据库存储是两回事 . 数据库存储不是HTML5的一部分:http://www.tutorialspoint.com/html5/html5_web_sql.htm
DOMStorage与HTML5更相关,并且包括会话存储,当您关闭浏览器时,会话存储将会消失 . 您可以通过搜索“DOM存储”的“本地存储”找到更多匹配 .
http://viralpatel.net/blogs/introduction-html5-domstorage-api-example/
因此,要启用DOMstorage,您只需要:webSettings.setDomStorageEnabled(true);
有关Android v4.1.1的更新,已回答in this post此问题 .