Storage模块管理应用本地数据存储区,用于应用数据的保存和读取。应用本地数据与localStorage、sessionStorage的区别在于数据有效域不同,前者可在应用内跨域操作,数据存储期是持久化的,并且没有容量限制。通过plus.storage可获取应用本地数据管理对象。
getLength:获取应用存储区中保存的键值对的个数
plus.storage.getLength()
返回值:
Number : 键值对的个数
function storageCount() {
return plus.storage.getLength();
}
getItem:通过键(key)检索获取应用存储的值
plus.storage.getItem(key)
参数:
key: ( DOMString ) 必选
存储的键值
返回值:
DOMString : 键(key)对应应用存储的值,如果没有保存则返回null。
function getStorage() {
return plus.storage.getItem("test");
}
setItem:修改或添加键值(key-value)对数据到应用数据存储中
plus.storage.setItem(key, value)
如果设置的键在应用数据存储中已经存在,更新存储的键值。 存储的键和值没有容量限制,但过多的数据量会导致效率降低,建议单个
键值数据不要超过10Kb。
参数:
key: ( DOMString ) 必选
存储的键值
value: ( DOMString ) 必选
存储的内容
plus.storage.setItem("test","test with hbuilder!");
removeItem:通过key值删除键值对存储的数据
plus.storage.removeItem(key)
参数:
key: ( DOMString ) 必选
存储的键值
plus.storage.removeItem("test");
clear:清除应用所有的键值对存储数据
plus.storage.clear()
key:获取键值对中指定索引值的key值
plus.storage.key(index)
参数:
index: ( Number ) 必选 存储键值的索引
function 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]);
}
}