# [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>
~~~
- API参考
- Accelerometer
- Audio
- Camera
- Contacts
- Device
- Downloader
- Events
- Gallery
- Geolocation
- IO
- Key
- Messaging
- NativeUI
- Navigator
- Orientation
- Proximity
- SplashScreen
- Storage
- UI
- Uploader
- InterfaceOrientation
- Runtime
- WebView
- XMLHttpRequest
- Zip
- Plugins
- Barcode
- Maps
- Payment
- Push
- Share
- Speech
- Statistic
- Native.js
- Android
- iOS