YonBuilder移动开发平台数据存储YonBuilder移动开发平台开发者提供了多种本地数据存储方案,包括LocalStorage、偏好数据、文件和数据库等,满足用户数据存储不同的规模需要。其中LocalStorage和preferencedata一般用于存储比较简单、规模较小的数据,而文件和数据库多用于存储大量数据,便于管理。LocalStorageYonBuilder移动开发平台封装了html5的LocalStorage,存储更方便。$api对象的setStorage方法不仅可以存储字符串,还可以直接存储JSON对象,getStorage也可以直接获取JSON对象。用法如下:varkey='user';变种用户={};user.name='肯尼';user.email='kenny@163.com';$api.setStorage(密钥,用户);用户=$api.getStorage(key);偏好数据适合存储少量的偏好设置数据,一般用于保存一些状态值等,不建议通过这种方式存储大量数据。api对象提供了setPrefs、getPrefs、removePrefs方法,参数以键值对的方式传入,进行set、get、remove,例如记录应用是否首次启动:api.setPrefs({firstLaunch:false});其他方法请参考api对象文档。文件(一)api对象方法YonBuilder移动开发平台开发者提供文件和文件夹相关的操作API,包括创建、移动、删除文件和文件夹等,以及对文本内容的读写操作。其中,api对象提供了基本的readFile和writeFile方法,支持对整个文件内容的读写操作。读写文件示例代码如下:api.readFile({path:'fs://a.txt'},function(ret,err){if(ret.status){vardata=ret.data;}});api.writeFile({path:'fs://a.txt',data:'writeFile测试内容'},function(ret,err){if(ret.status){api.alert({msg:'写入文件成功'});}else{api.alert({msg:err.msg});}});(2)如果fs对象方法想使用更丰富的文件操作API,则需要介绍fs原生插件。本原生插件详细定义了文件和文件夹的相关操作,支持在指定位置读写文本内容。写入文件的示例代码如下:varfs=api.require('fs');fs.open({path:'fs://test.txt',flags:'read_write'},function(ret,err){if(ret.status){varfd=ret.fd;//fd是文件句柄fs.write({fd:fd,data:'text',offset:0},function(ret,err){if(ret.status){api.alert({msg:'写操作成功'});}else{api.alert({msg:err.msg});}});}});其他方法请参考fs原生插件文档。数据库YonBuilder移动开发平台开发者提供了操作本地数据库的接口,但开发者需要熟悉基本的SQL语句,如创建表、插入更新数据、获取数据等。dbnative插件提供了数据库相关的操作接口,详见dbnative插件文档。部分示例代码如下:创建名为Persons的表:vardb=api.require('db');varsql='CREATETABLEPersons(Id_Pint,LastNamevarchar(255),FirstNamevarchar(255),地址varchar(255),Cityvarchar(255))';db.executeSql({name:'databaseName',sql:sql},function(ret,err){if(ret.status){api.alert({msg:'建表成功'});}else{api.alert({msg:err.msg});}});从Persons表查询数据:vardb=api.require('db');varsql='SELECT*FROMPersons';db.selectSql({name:'databaseName',sql:sql},function(ret,err){if(ret.status){vardata=ret.data;}else{};});
