storage
Storage模块管理应用本地数据存储区,用于应用数据的保存和读取。应用本地数据与localStorage、sessionStorage的区别在于数据有效域不同,前者可在应用内跨域操作,数据存储期是持久化的,并且没有容量限制。通过plus.storage可获取应用本地数据管理对象。
方法:
- getLength: 获取应用存储区中保存的键值对的个数
- getItem: 通过键(key)检索获取应用存储的值
- setItem: 修改或添加键值(key-value)对数据到应用数据存储中
- removeItem: 通过key值删除键值对存储的数据
- clear: 清除应用所有的键值对存储数据
- key: 获取键值对中指定索引值的key值
权限:
5+功能模块(permissions)
{// ..."permissions":{// ..."Storage": {"description": "本地存储,访问应用本地存储数据"}}}
getLength
获取应用存储区中保存的键值对的个数
var foo = plus.storage.getLength();
参数:
无
返回值:
Number: 键值对的个数
示例:
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Storage Example</title><script type="text/javascript">// H5 plus事件处理function plusReady(){}document.addEventListener("plusready",plusReady,false);// Get storage item lengthfunction storageCount() {return plus.storage.getLength();}</script></head><body>获取应用存储区中保存的键值对的个数<br/><button onclick="storageCount()">Count</button></body></html>
getItem
通过键(key)检索获取应用存储的值
var foo = plus.storage.getItem(key);
参数:
- key: (DOMString)必选 存储的键值
返回值:
DOMString: 键(key)对应应用存储的值,如果没有保存则返回null。
示例:
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Storage Example</title><script type="text/javascript">// H5 plus事件处理function plusReady(){}document.addEventListener("plusready",plusReady,false);// Get storage item valuefunction getStorage() {return plus.storage.getItem("test");}</script></head><body>获取应用存储区中保存的键值对的个数<br/><button onclick="alert(getStorage())">Get item(test)</button></body></html>
setItem
修改或添加键值(key-value)对数据到应用数据存储中
void plus.storage.setItem(key, value);
说明:
如果设置的键在应用数据存储中已经存在,更新存储的键值。存储的键和值没有容量限制,但过多的数据量会导致效率降低,建议单个键值数据不要超过10Kb。
参数:
- key: (DOMString)必选 存储的键值
- value: (DOMString)必选 存储的内容
返回值:
void: 无
示例:
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Storage Example</title><script type="text/javascript">// H5 plus事件处理function plusReady(){}document.addEventListener("plusready",plusReady,false);// Remove storage itemfunction setStorage() {plus.storage.setItem("test","test with hbuilder!");}</script></head><body>修改或添加键值(key-value)对数据到应用数据存储中<br/><button onclick="setStorage()">Set item(test)</button></body></html>
removeItem
通过key值删除键值对存储的数据
void plus.storage.removeItem(key);
参数:
- key: (DOMString)必选 存储的键值
返回值:
void: 无
示例:
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Storage Example</title><script type="text/javascript">// H5 plus事件处理function plusReady(){}document.addEventListener("plusready",plusReady,false);// Remove storage itemfunction removeStorage() {plus.storage.removeItem("test");}</script></head><body>清除应用所有的键值对存储数据<br/><button onclick="removeStorage()">Remove item(test)</button></body></html>
clear
清除应用所有的键值对存储数据
void plus.storage.clear();
参数:
无
返回值:
void: 无
示例:
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Storage Example</title><script type="text/javascript">// H5 plus事件处理function plusReady(){}document.addEventListener("plusready",plusReady,false);// Clear storage datafunction clearStorage() {plus.storage.clear();}</script></head><body>清除应用所有的键值对存储数据<br/><button onclick="clearStorage()">Clear</button></body></html>
key
获取键值对中指定索引值的key值
var foo = plus.storage.key(index);
参数:
- index: (Number)必选 存储键值的索引
返回值:
void: 无
示例:
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Storage Example</title><script type="text/javascript">// H5 plus事件处理function plusReady(){}document.addEventListener("plusready",plusReady,false);// Get value by indexfunction enumValueByIndex() {var keyNames=[];var values=[];var numKeys=plus.storage.getLength();for(var i=0; i<numKeys; i++) {keyNames[i] = plus.storage.key(i);values[i] = plus.storage.getItem(keyNames[i]);}}</script></head><body>获取键值对中指定索引值的key值<br/><button onclick="enumValueByIndex()">Enum</button></body></html>