h5 本地存储

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 length

function 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 value

function 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 item

function 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 item

function 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 data

function 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 index

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]);

               }

}

               </script>

               </head>

               <body>

                               获取键值对中指定索引值的key值<br/>

                               <button onclick="enumValueByIndex()">Enum</button>

               </body>

</html>

                      

        

原文地址:https://www.cnblogs.com/xiewangfei123/p/13461651.html