好吧,有很多方法可以在tidesdk上創建存儲內容。餅乾可以是其中之一,但不是必需的。我個人認爲cookie的存儲信息太有限,所以我建議你將用戶信息存儲在一個JSON文件中,這樣你就可以從單個信息存儲到大型結構(取決於項目)。假設您有一個客戶端必須存儲應用程序配置(如「首選路徑」)來存儲文件或保存字符串(如名字,姓氏)的項目,您可以使用Ti.FileSystem存儲和讀取此類信息:
在下面的例子中
,我使用jQuery讀取文件的存儲JSON字符串:
文件的內容(conf.json):
{
"fname" : "erick",
"lname" : "rodriguez",
"customFolder" : "c:\\myApp\\userConfig\\"
}
注:由於某些原因,Tidesdk無法解析JSON結構,因爲它將conf.json解釋爲文本文件,所以如果刪除所有的製表符和空格,解析將工作:
{"fname":"erick","lname":"rodriguez","customFolder":"c:\\myApp\\userConfig\\"}
現在讓我們來讀吧....(myappfolder爲您的存儲文件夾的路徑)
readfi = Ti.Filesystem.getFile(myappfolder,"conf.json");
Stream = Ti.Filesystem.getFileStream(readfi);
Stream.open(Ti.Filesystem.MODE_READ);
contents = Stream.read();
contents = JSON.parse(contents.toString);
console.log(contents);
現在讓我們來存儲它....
function saveFile(pathToFile) {
var readfi,Stream,contents;
readfi = Ti.Filesystem.getFile(pathToFile);
Stream = Ti.Filesystem.getFileStream(readfi);
Stream.open(Ti.Filesystem.MODE_READ);
contents = Stream.read();
return contents.toString();
};
//if a JSON var is defined into js, there is no problem
var jsonObject = {
"fname":"joe",
"lname":"doe",
"customFolder" : "c:\\joe\\folder\\"
}
var file = pathToMyAppStorage + "\\" + "conf.json";
var saved = writeTextFile(file,JSON.stringify(jsonObject));
console.log(saved);