# [storage]() Storage模块管理应用本地数据,用于应用数据的保存和读取。应用本地数据与localStorage、sessionStorage的区别在于数据有效域不同,前者可在应用内跨域操作,数据存储期是持久化的,并且没有容量限制。通过plus.storage可获取应用本地数据管理对象。 ### 方法: - [getLength](http://www.dcloud.io/docs/api/zh_cn/storage.shtml#plus.storage.getLength): 获取storage中保存的键值对的数量 - [getItem](http://www.dcloud.io/docs/api/zh_cn/storage.shtml#plus.storage.getItem): 通过key值检索键值 - [setItem](http://www.dcloud.io/docs/api/zh_cn/storage.shtml#plus.storage.setItem): 存储key-value - [removeItem](http://www.dcloud.io/docs/api/zh_cn/storage.shtml#plus.storage.removeItem): 通过key值删除键值对 - [clear](http://www.dcloud.io/docs/api/zh_cn/storage.shtml#plus.storage.clear): 清除应用所有的键值对 - [key](http://www.dcloud.io/docs/api/zh_cn/storage.shtml#plus.storage.key): 获取键值对中指定索引值的key值 ### 权限: permissions ~~~ "Storage": { "description": "访问应用本地存储数据" } ~~~ # [getLength]() 获取storage中保存的键值对的数量 ~~~ var foo = plus.storage.getLength(); ~~~ ### 参数: 无 ### 返回值: Number : 键值对的数量 ### 平台支持: - Android - 2.2+ (支持) - iOS - 4.3+ (支持) # [getItem]() 通过key值检索键值 ~~~ var foo = plus.storage.getItem(key); ~~~ ### 参数: - key: *( DOMString ) 必选 * 存储的键值 ### 返回值: DOMString : 键对应的值,如果没有保存则返回null。 ### 平台支持: - Android - 2.2+ (支持) - iOS - 4.3+ (支持) # [setItem]() 存储key-value ~~~ void plus.storage.setItem(key, value); ~~~ ### 说明: 存储的键和值没有容量限制,但过多的数据量会导致效率降低,建议单个键值数据不要超过10Kb。 ### 参数: - key: *( DOMString ) 必选 * 存储的键值 - value: *( DOMString ) 必选 * 存储的内容 ### 返回值: void : 无 ### 平台支持: - Android - 2.2+ (支持) - iOS - 4.3+ (支持) # [removeItem]() 通过key值删除键值对 ~~~ void plus.storage.removeItem(key); ~~~ ### 参数: - key: *( DOMString ) 必选 * 存储的键值 ### 返回值: void : 无 ### 平台支持: - Android - 2.2+ (支持) - iOS - 4.3+ (支持) # [clear]() 清除应用所有的键值对 ~~~ void plus.storage.clear(); ~~~ ### 参数: 无 ### 返回值: void : 无 ### 平台支持: - Android - 2.2+ (支持) - iOS - 4.3+ (支持) # [key]() 获取键值对中指定索引值的key值 ~~~ var foo = plus.storage.key(index); ~~~ ### 参数: - index: *( Number ) 必选 *存储键值的索引 ### 返回值: void : 无 ### 平台支持: - Android - 2.2+ (支持) - iOS - 4.3+ (支持) ### 示例: ~~~ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <script type="text/javascript"> function loadAllKeyValue() { 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> </body> </html> ~~~