数据存储开发指南

Local Storage

文件

介绍

Local Storage

APICloud对html5的Local Storage进行了封装,在存储时更加方便。通过$api对象的setStorage方法不仅可以存储字符串,还可以直接存储JSON对象,而getStorage获取时也可以直接得到JSON对象。用法如下:

偏好数据

适用于少量的偏好设置数据的存储,一般用于保存一些状态值等,不推荐大量的数据通过此方式存储。 api对象提供了setPrefs、getPrefs、removePrefs方法,以键值对的方式传入参数,进行设置、获取和移除等,例如记录应用是否是第一次启动:

  1. firstLaunch:false

具体参数及用法请参考api文档中的说明。

文件

APICloud为开发者提供了文件和文件夹相关操作API,包括创建、移动、删除文件和文件夹等,以及文本内容的读写操作。 其中api对象提供了基本的readFile、writeFile方法,支持整个文件内容的读写操作,其读写文件示例代码如下:

  1. var fs = api.require('fs');
  2. fs.open({
  3. path:'fs://test.txt',
  4. flags:'read_write'
  5. },function(ret, err) {
  6. if (ret.status) {
  7. var fd = ret.fd; //fd为文件句柄
  8. fs.write({
  9. data:'text',
  10. offset:0
  11. },function(ret,err){
  12. if (ret.status) {
  13. api.alert({msg:'write操作成功'});
  14. } else{
  15. }
  16. });
  17. }

其它方法请参考fs模块文档。

数据库

APICloud为开发者提供了操作本地数据库的接口,但需要开发者熟悉基本的SQL语句,如创建表、插入和更新数据、获取数据等操作。

db模块提供了数据库相关操作API,详见db模块文档。部分示例代码如下:

创建一张名为Persons的表:

  1. var db = api.require('db');
  2. var sql = 'SELECT * FROM Persons';
  3. db.selectSql({
  4. name:'databaseName',
  5. sql: sql
  6. }, function(ret, err){
  7. if(ret.status){
  8. var data = ret.data;
  9. } else{