標籤:cloud 大小 標準 指定 使用者 call code 關於 tps
資料的本機存放區和圖片緩衝可以極大地提高 app 的使用者體驗、提高 UI 響應速度、減少網路使用。
1.uzStorage
uzStorage 比標準的 localStorage 更安全易用。
舉個栗子: localStorage 有大小限制、非同步會導致一些安全、不能儲存物件等問題,但這些問題均在 uzStorage 中得到瞭解決。
2.喜好設定
3.檔案
APICloud 提供了標準的檔案操作介面,支援同步和非同步調用方式。使用下面的 API 操作檔案:
api.readFile({?sync:false,// 是否同步,預設 false?path:"PathToFile"// 檔案路徑,支援絕對路徑和檔案路徑協議如 fs://、widget:// 等
}, function(ret,err){
//ret = {status:true,data:""}
}); //err = {code:0,msg:""}
api.writeFile({?path:"PathToFile",// 檔案路徑,支援絕對路徑和檔案路徑協議如 fs://、cache:// 等,不支援 widget:// 目錄,
該目錄唯讀?data:"data",// 檔案內容
append:false// 是否以追加方式寫入資料,預設 false,會清除之前檔案內容 }, function(ret,err){
//ret = {status:true}
}); //err = {code:0,msg:""}
4.database
使用“db”模組操作資料庫,“db”模組封裝了手機常用資料庫 sqlite 的增刪改查語句,可實現資料的本機存放區,極大地簡化了資料持久化問題,並且支援同步介面。
5.儲存容量
APICloud 提供了關於儲存容量的 API,代碼如下:
api.getFreeDiskSpace({?sync:false// 執行結果的返回方式。為 false 時通過 callback 返回,為 true 時直接返回,預設 false
}, function(ret,err){?//ret = {size:1024} 剩餘儲存空間大小,單位為Byte,數字類型。(-1:無存放裝置、-2:正在準備USB存
儲裝置、-3 :無法訪問存放裝置) });
api.getTotalSpace({?sync:false //執行結果的返回方式。為false時通過callback返回,為true時直接返回,預設false
}, function(ret,err){?//ret = {size:1024} 總儲存空間大小,單位為Byte,數字類型。(-1:無存放裝置、-2:正在準備USB儲存
裝置、-3 :無法訪問存放裝置) });
api.getCacheSize({?sync:false// 執行結果的返回方式。為 false 時通過 callback 返回,為 true 時直接返回,預設 false
}, function(ret,err){?//ret = {size} 緩衝大小,單位為Byte,數字類型。(-1:無存放裝置、-2:正在準備USB存放裝置、-3:無
法訪問存放裝置)
});
api.clearCache({ timeThreshold:10//(可選項)清除多少天前的緩衝,預設 0
}, function(ret,err){ }); //清除完成
6.沙箱機制
在 Android 和 iOS 中均採用虛擬沙箱的機制來保障資料存放區的安全和獨立,App 只能訪問 自己檔案系統的沙箱地區。沙箱位置如下。
? Android 的預設沙箱位置:sdcard/UZMap/appId。 ?
? iOS 的預設沙箱位置:Documents/uzfs/appId。 ?
7.資源訪問協議 ?
APICloud 資源被存放在 app 安裝包(ipa 包或者 apk 包)中或應用沙箱中。沙箱分為 APICloud 應用虛擬沙箱和 Native 應用真實沙箱,真實沙箱是作業系統為 app 在裝置內部儲存上分配的空間,不可見,只允許 app 本身訪問。
?8.圖片緩衝 ?
對於圖片緩衝,可使用如下代碼:
? ? var img = $api.byId("myImg");
? api.imageCache({
? ? url:‘http://example.com/dir/file.png‘
? },function(ret,err){
? ? if(ret && ret.status == true){
? } img.src = ret.url;
? ?else{?} //處理錯誤 ?}); ?
上述代碼首先在參數中指定了要緩衝的遠程圖片路徑(url),在之後的回呼函數中判斷是否緩衝成功(if(ret && ret.status == true){}),如果成功就可以使用 ret.url 來更新
標籤。ret.url 是圖片緩衝到本地後的路徑。
更多app資訊,請關注www.apicloud.com
提交app定製需求,瞭解報價和周期:
https://app.apicloud.com/index?uzchannel=500
APP怎樣進行本機存放區和圖片緩衝?