永发信息网

android 中 webview 怎么用 localStorage

答案:2  悬赏:70  手机版
解决时间 2021-02-05 03:54
android 中 webview 怎么用 localStorage
最佳答案
默认WebView没有开启LocalStorage存储。
代码如下:
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setAppCacheMaxSize(1024*1024*8);
String appCachePath = getApplicationContext().getCacheDir().getAbsolutePath();
mWebView.getSettings().setAppCachePath(appCachePath);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setAppCacheEnabled(true);
或者是:
wvBrowser.getSettings().setJavaScriptEnabled(true);
// 开启DOM缓存。
wvBrowser.getSettings().setDomStorageEnabled(true);
wvBrowser.getSettings().setDatabaseEnabled(true);
wvBrowser.getSettings().setDatabasePath(context.getApplicationContext().getCacheDir().getAbsolutePath());
setDatabasePath在API19时已经废弃,原因是因为在4.4WebView的内核已经换为了Chrome的内核,存储路径有WebView控制。
全部回答
webview的缓存可以分为页面缓存和数据缓存。 页面缓存是指加载一个网页时的html、js、css等页面或者资源数据。这些缓存资源是由于浏览器的行为而产生,开发者只能通过配置http响应头影响浏览器的行为才能间接地影响到这些缓存数据。 他们的索引存放在/data/data/package_name/databases下。他们的文件存放在/data/data/package_name/cache/xxxwebviewcachexxx下。文件夹的名字在2.x和4.x上有所不同,但都文件夹名字中都包含webviewcache。 数据缓存分为两种:appcache和dom storage(web storage)。他们是因为页面开发者的直接行为而产生。所有的缓存数据都由开发者直接完全地掌控。 appcache使我们能够有选择的缓冲web浏览器中所有的东西,从页面、图片到脚本、css等等。尤其在涉及到应用于网站的多个页面上的css和javascript文件的时候非常有用。其大小目前通常是5m。 在android上需要手动开启(setappcacheenabled),并设置路径(setappcachepath)和容量(setappcachemaxsize) android中webkit使用一个db文件来保存appcache数据(my_path/applicationcache.db)   如果需要存储一些简单的用key/value对即可解决的数据,dom storage是非常完美的方案。根据作用范围的不同,有session storage和local storage两种,分别用于会话级别的存储(页面关闭即消失)和本地化存储(除非主动删除,否则数据永远不会过期)。 在android中可以手动开启dom storage(setdomstorageenabled),设置存储路径(setdatabasepath) android中webkit会为dom storage产生两个文件(my_path/localstorage/http_h5.m.taobao.com_0.localstorage和my_path/localstorage/databases.db)   另外,在android中清除缓存时,如果需要清除local storage的话,仅仅删除local storage的本地存储文件是不够的,内存里面有缓存数据。如果再次进入页面,local storage中的缓存数据同样存在。需要杀死程序运行的当前进程再重新启动才可以。   html5的离线应用功能可以使得webapp即使在网络断开的情况下仍能正常使用,这是个非常有用的功能。近来工作中也要用到html5离线应用功能,由于是在android平台上做,所以自然而然的选择webview来解析网页。但如何使webivew支持html5离线应用功能呢,经过反复摸索和上网查找资料,反复做试验终于成功了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
彩虹岛末日终结者称号怎么得到
汽车整体改色方案中心(太原店)地址在什么地方
美剧 女子监狱 里两女主在浴室的戏是哪一集的
七折优惠是多少
在女方父母不知道的情况下,女孩子去见男孩父
极速73汽车装饰美容地址在什么地方,我要处理
老人留的银行存款 上遗产税吗
油沙乡怎么去啊,有知道地址的么
【怎么z】z+0.9分之z-0.9怎么Z反变换
百福首饰怎么去啊,有知道地址的么
我的VIVO手机怎么搜不到我的蓝牙棒么
寻找一部穿越类电影名
锦华丰田4s店怎么去啊,我要去那办事
天天向上二手车评估培训机构怎么样
补写出下列名篇名句中的空缺部分。(6分)⑴
推荐资讯
龙波饭店地址在哪,我要去那里办事
崩坏3界面角色怎么换
150A12伏的骆驼蓄电池多少钱
豪雅竟潜手表怎样
7天连锁酒店开封火车站开封景区店在哪里啊,
建设项目工程设计图审查的主要内容包括(  
测井中的LLD曲线中文名称是什么?这一曲线有
MBA可以进银行吗?
网购运动装尺码选择问题
陵水顺通公寓地址在什么地方,我要处理点事
下列情形,相关当事人可依据反垄断法和民法主
秋葵多少钱一斤
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?