今天我们就告诉大伙一点小知识如何存储数据,在下次打开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");
本站原创谢绝转载!