Hbuilder开发app在手机端缓存json数据

如何在手机端缓存json数据

App首次安装完成后,对于动态的List类的标题列表 Ajax请求服务器Json数据,每次请求后将最新的json数据缓存:

目的A:打开App后,如果有缓存的Json数据,直接先显示出来,延迟后在依据网络连接状态Ajax刷新数据...

目的B:在没有网络连接的时候,App页面内容有显示,不至于空白太难看

答案
 

HTML5+的离线本地存储有如下多种方案:
HTML5标准方案:cookie、localstorage、sessionstorage、websql、indexedDB
HTML5Plus扩展方案:plus.storage、plus.io


  • cookie
    体量最小,可以设置过期时间。
  • localstorage
    适合key、value键值对的存储,数据量一般不超过5M。是常用的轻量数据存储方案。
  • sessionstorage
    也是键值对,特点是关闭App就消失了,一般不用于持久化数据保存,而是用于全局变量。
  • websql
    是手机端关系型数据库的最佳方案,各种手机都支持。只是该标准不再更新。但是目前手机端重量数据存储的唯一可商用方案。
  • indexedDB
    是HTML5里最新的数据存储规范,但不是基于SQL,而是基于对象。
    indexedDB性能更高,但学习难度也偏大。最重要的是目前手机端支持度不行。Android4.4以上和iOS8以上才支持indexedDB,暂时无法在手机端商用。
  • plus.storage
    plus.storage也是键值对数据存储。它是把OS给原生App使用的键值对存储数据库封装一层给JS使用。
    plus.storage没有理论上的大小限制。
    plus.storage相比于localstorage 的特点是可跨域。当一个存储数据,需要被本地和来自服务器的页面同时读写时,就涉及跨域问题。此时HTML5的localstorage不能满足需求,只能使用plus.storage。
  • plus.io
    plus.io是文件读写,虽然也可以通过读写txt等文件存储数据,但并不如专业的storage和websql方便。
    plus.io更多的是用于图片等多媒体文件的本地保存。
    比如图文列表的离线使用,一般有2种做法:

    1. 图片下载不通过img的src,而是plus.dowload下载的,先下载图片,存好路径后,然后img的src动态指定文件路径
    2. 图片使用img的src下载,然后用canvas把img存成图片文件。下次不联网,img的scr直接指向本地文件
  • 转载自:http://www.bcty365.com/content-146-2377-1.html
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值