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>

发布了33 篇原创文章 · 获赞 6 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_41961749/article/details/82980079