數(shù)據(jù)云1.0服務(wù)開發(fā)指南

2022-06-17 11:34 更新

介紹

APICloud為開發(fā)者提供了多種本地數(shù)據(jù)存儲方案,包括Local Storage、偏好數(shù)據(jù)、文件和數(shù)據(jù)庫等,以滿足不同規(guī)模數(shù)據(jù)存儲需求。其中Local Storage和偏好數(shù)據(jù)一般用于存儲比較簡單、規(guī)模較小的數(shù)據(jù),而文件和數(shù)據(jù)庫多用于存儲大量數(shù)據(jù),并且利于管理。

Local Storage

APICloud對html5的Local Storage進(jìn)行了封裝,在存儲時更加方便。通過$api對象的setStorage方法不僅可以存儲字符串,還可以直接存儲JSON對象,而getStorage獲取時也可以直接得到JSON對象。用法如下:

  1. var key = 'user';
  2. var user = {};
  3. user.name = 'kenny';
  4. user.email = 'kenny@163.com';
  5. $api.setStorage(key, user);
  6. user = $api.getStorage(key);

偏好數(shù)據(jù)

適用于少量的偏好設(shè)置數(shù)據(jù)的存儲,一般用于保存一些狀態(tài)值等,不推薦大量的數(shù)據(jù)通過此方式存儲。 api對象提供了setPrefs、getPrefs、removePrefs方法,以鍵值對的方式傳入?yún)?shù),進(jìn)行設(shè)置、獲取和移除等,例如記錄應(yīng)用是否是第一次啟動:

  1. api.setPrefs({
  2. firstLaunch:false
  3. });

具體參數(shù)及用法請參考api文檔(未處理)中的說明。

文件

api對象方法

APICloud為開發(fā)者提供了文件和文件夾相關(guān)操作API,包括創(chuàng)建、移動、刪除文件和文件夾等,以及文本內(nèi)容的讀寫操作。 其中api對象提供了基本的readFile、writeFile方法,支持整個文件內(nèi)容的讀寫操作,其讀寫文件示例代碼如下:

  1. api.readFile({
  2. path: 'fs://a.txt'
  3. }, function(ret, err){
  4. if(ret.status){
  5. var data = ret.data;
  6. }
  7. });
  8. api.writeFile({
  9. path: 'fs://a.txt',
  10. data:'writeFile測試內(nèi)容'
  11. }, function(ret, err){
  12. if(ret.status){
  13. api.alert({msg:'寫入文件成功'});
  14. } else{
  15. api.alert({msg:err.msg});
  16. }
  17. });

fs對象方法

若要使用更加豐富的文件操作API,則需要引入fs模塊,該模塊詳細(xì)定義了文件和文件夾的相關(guān)操作,并且支持文本內(nèi)容的指定位置讀寫,其寫文件示例代碼如下:

  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. fd:fd,
  10. data:'text',
  11. offset:0
  12. },function(ret,err){
  13. if (ret.status) {
  14. api.alert({msg:'write操作成功'});
  15. } else{
  16. api.alert({msg:err.msg});
  17. }
  18. });
  19. }
  20. });

其它方法請參考fs模塊文檔。

數(shù)據(jù)庫

說明

APICloud為開發(fā)者提供了操作本地數(shù)據(jù)庫的接口,但需要開發(fā)者熟悉基本的SQL語句,如創(chuàng)建表、插入和更新數(shù)據(jù)、獲取數(shù)據(jù)等操作。

用法

db模塊提供了數(shù)據(jù)庫相關(guān)操作API,詳見db模塊文檔。部分示例代碼如下:

創(chuàng)建一張名為Persons的表:

  1. var db = api.require('db');
  2. var sql = 'CREATE TABLE Persons(Id_P int, LastName varchar(255), FirstName varchar(255),
  3. Address varchar(255), City varchar(255))';
  4. db.executeSql({
  5. name: 'databaseName',
  6. sql: sql
  7. }, function(ret, err){
  8. if(ret.status){
  9. api.alert({msg:'創(chuàng)建表成功'});
  10. } else{
  11. api.alert({msg:err.msg});
  12. }
  13. });

從Persons表里面查詢數(shù)據(jù):

  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{
  10. };
  11. });
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號