數(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進行了封裝,在存儲時更加方便。通過$api對象的setStorage方法不僅可以存儲字符串,還可以直接存儲JSON對象,而getStorage獲取時也可以直接得到JSON對象。用法如下:

var key = 'user';
var user = {};
user.name = 'kenny';
user.email = 'kenny@163.com';
$api.setStorage(key, user);
user = $api.getStorage(key);

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

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

api.setPrefs({
    firstLaunch:false
});

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

文件

api對象方法

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

api.readFile({
    path: 'fs://a.txt'
}, function(ret, err){
    if(ret.status){
        var data = ret.data;
    }
});


api.writeFile({
    path: 'fs://a.txt',
    data:'writeFile測試內(nèi)容'
}, function(ret, err){
    if(ret.status){
        api.alert({msg:'寫入文件成功'});
    } else{
        api.alert({msg:err.msg});
    }
});

fs對象方法

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

var fs = api.require('fs');
fs.open({
    path:'fs://test.txt',
    flags:'read_write'
},function(ret, err) {
    if (ret.status) {
        var fd = ret.fd;            //fd為文件句柄
        fs.write({
            fd:fd,
            data:'text',
            offset:0
        },function(ret,err){
            if (ret.status) {
                api.alert({msg:'write操作成功'});
            } else{
                api.alert({msg:err.msg});
            }
        });
    }
});

其它方法請參考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的表:

var db = api.require('db');
var sql = 'CREATE TABLE Persons(Id_P int, LastName varchar(255), FirstName varchar(255),
Address varchar(255), City varchar(255))';
db.executeSql({
    name: 'databaseName',
    sql: sql
}, function(ret, err){
    if(ret.status){
        api.alert({msg:'創(chuàng)建表成功'});
    } else{
        api.alert({msg:err.msg});
    }
});

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

var db = api.require('db');
var sql = 'SELECT * FROM Persons';
db.selectSql({
    name:'databaseName',
    sql: sql
}, function(ret, err){
    if(ret.status){
        var data = ret.data;    
    } else{


    };
});
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號