html5+ Storage-本地存储

storage-本地存储

Storage模块管理应用本地数据存储区,用于应用数据的保存和读取。应用本地数据与localStorage、sessionStorage的区别在于数据有效域不同,前者可在应用内跨域操作,数据存储期是持久化的,并且没有容量限制。通过plus.storage可获取应用本地数据管理对象。

方法:

  • getLength: 获取应用存储区中保存的键值对的个数
  • getItem: 通过键(key)检索获取应用存储的值
  • setItem: 修改或添加键值(key-value)对数据到应用数据存储中
  • removeItem: 通过key值删除键值对存储的数据
  • clear: 清除应用所有的键值对存储数据
  • key: 获取键值对中指定索引值的key值

权限:

5+功能模块(permissions)

{
// ...
"permissions":{
	// ...
	"Storage": {
		"description": "本地存储,访问应用本地存储数据"
	}
}
}
<!DOCTYPE HTML>
<html>

	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
		<meta name="HandheldFriendly" content="true" />
		<meta name="MobileOptimized" content="320" />
		<title>Hello H5+</title>

		<script type="text/javascript">
			function setItemFun(id) {
				//循环插入100调数据
				var dataNum = new Number(id);
				for (var i = 0; i < dataNum; i++) {
					plus.storage.setItem("key" + i, "value" + i);
				}
				var length = getLengthFun();
				console.log("数据存储成功,存储了" + length + "条数据;");
			}

			function getLengthFun() {
				return plus.storage.getLength();
			}

			function getAllItem() {
				console.log("获取数据:");
				var itemLength = getLengthFun();
				for (var i = 0; i < itemLength; i++) {
					var key = plus.storage.key(i);
					var value = plus.storage.getItem(key);
					outLine("key:" + key + "-->value:" + value);
				};
			}

			function delItem() {
				console.log("删除数据:");
				var itemLength = getLengthFun();
				for (var i = 0; i < itemLength; i += 2) {
					var key = plus.storage.key(i);
					plus.storage.removeItem(key);
				};
				var itemNo = getLengthFun();
				outLine("移除了" + (itemLength - itemNo) + "条数据");
			}

			function clearAllItem() {
				plus.storage.clear();
				var num = getLengthFun();
				if (num == 0) {
					console.log("storage数据清除成功!");
				} else {
					console.log("storage数据清除失败!");
				}
			}

			function modifyTopFive() {
				console.log("修改前的数据是:");
				for (var i = 0; i < 5; i++) {
					var key = plus.storage.key(i),
						value = plus.storage.getItem(key);
					outLine("key:" + key + "-->value:" + value);
					plus.storage.setItem(key, "新数据值>>" + i);
				};
				outLine("修改后的数据是:");
				for (var i = 0; i < 5; i++) {
					var key = plus.storage.key(i),
						value = plus.storage.getItem(key);
					outLine("key:" + key + "-->value:" + value);
				};
			}

		</script>

	</head>

	<body>
		<header id="header">
			<div class="nvbt iback" onclick="back()"></div>
			<div class="nvtt">Storage</div>
			<div class="nvbt idoc" onclick="openDoc('Storage Document','/doc/storage.html')"></div>
		</header>
		<div id="dcontent" class="dcontent">
			<br />
			<ul class="dlist">
				<li class="ditem" onclick="setItemFun('11')">插入11条数据</li>
				<li class="ditem" onclick="getAllItem()">查询所有数据</li>
				<li class="ditem" onclick="modifyTopFive()">修改前五条数据的内容</li>
				<li class="ditem" onclick="delItem()">删除部分Item</li>
				<li class="ditem" onclick="clearAllItem()">清除所有内容</li>
			</ul>
		</div>
		<div id="output">
			Storage管理本地数据存储,用于保存应用的全局数据,可在程序内部跨页面(跨域)共享数据。
		</div>
	</body>

</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值