前言
最近有一个需求是和在app中前端本地存储相关的,所以恶补了一下相关知识
webView开启支持H5 LocalStorage存储
有些时候我们发现写的本地存储没有起作用,那是因为默认WebView没有开启LocalStorage存储。开启方法如下
首先得有Webview控件:
有人问我是不是需要写布局文件,不写行不行,现在我就告诉你们,不写没问题,需要写就写不写直接创建New一个也行。 下面我就介绍一个,我new一个Webview实现localStorage。
WebView mywebView = new WebView(this);
mywebView.getSettings().setJavaScriptEnabled(true); // 允许javascript执行
mywebView.getSettings().setDomStorageEnabled(true);// 打开本地缓存提供JS调用,至关重要,开启DOM缓存,开启LocalStorage存储
mywebView.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);// 实现8倍缓存
mywebView.getSettings().setAllowFileAccess(true);
mywebView.getSettings().setAppCacheEnabled(true);
String appCachePath = getApplication().getCacheDir().getAbsolutePath();
mywebView.getSettings().setAppCachePath(appCachePath);
mywebView.getSettings().setDatabaseEnabled(true);
上面这些settings是实现localStorage需要的存储条件。