今天我们就告诉大伙一点小知识如何存储数据,在下次打开app时仍然可以使用该数据
其实apicloud本身就有这方面存储相关api,但是只能存储文本类型数据,于是我们都他进行改良了一下可以存储 文本、数值、JSON等类型数据。
api 相关方法:
api.setPrefs // 设置偏好数据,数据会存储到本地文件系统。 api.getPrefs // 获取偏好设置值 api.removePrefs // 删除偏好设置值
// 改良方法
/*
* 设置偏好数据,数据会存储到本地文件系统。
* param @ key 数据名称 文本类型
* param @ data 存储数据 类型可以是 文本型、数值型、JSON对象
* return 成功 = true , 失败 = false
*/
function setPrefs(keys,data){
try{
if(typeof keys != 'string') throw("e");
switch(typeof(data)){
case "number":
data = "number|"+data.toString();
break;
case "object":
try{
data = "object|"+JSON.stringify(data);
}catch(e){
/*非JSON对象,过滤*/
}
break;
}
if(data){
api.setPrefs({key:keys,value:data});
return true;
}
}catch(e){
}
return false;
}
/*
* 获取偏好设置值
* param @ key 数据名称 文本型
* return JSON对象、文本、数值 (返回数据类型是根据你存储的数据类型返回)
*/
function getPrefs(keys){
try{
var data = api.getPrefs({sync:true,key:keys});
switch(data.substr(0,7)){
case "object|":
data = data.substr(7);
data = JSON.parse(data);
break;
case "number|":
data = data.substr(7);
data = parseFloat(data);
break;
}
return data;
}catch(e){
}
return "";
}
/*
* 删除偏好设置值
* param @ key 数据名称
* 无返回值
*/
function removePrefs(key){
api.removePrefs({key:key});
}通过如上方法即可达到数据存储,即使关闭APP下次仍然可以使用
如果APP被删除数据也将随之而失去。
//使用方法
// 存储文本
setPrefs("ipwas","OK");
// 存储数值
setPrefs("ipwas",0.1);
// 存储 JSON 对象
setPrefs("ipwas",{ipwas:"https://www.ipwas.cn"} );
// 获取数据
getPrefs("ipwas");
// 删除数据
removePrefs("ipwas");本站原创谢绝转载!