如何使用钛将数据从服务器存储到本地设备?
how to store data to local device from server with titanium?
我想在第一次 time.I 尝试将其保留在 alloy.js 和 Ti.App.Properties.getString('login_token') 后用户使用 APP 时自动登录,但他们没有没用。
在我的咖啡里:
result = JSON.parse this.responseText
console.info result.token #"dsfdsfds2142fds3r32rf32e3dfefwedf"
Ti.App.Properties.setString "token",result.token
console.info Ti.App.Properties.getString "token" # it's blank
我找不到执行此操作的内置方法,所以我创建了一个 getter 和 setter 方法并将其放入 alloy.js。感觉非常 hacky 和肮脏,但它确实有效。
//retrieves the value of the token
// also checks if the token is valid and sets logged_in accordingly
function getToken(){
var f = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory,'api.txt');
var content = f.read();
//if we can read this return it, otherwise return a blank value
if (content){
return content.text;
}
else {
return '';
}
}
//persists and sets the value of token to the new value
function setToken(key){
var f = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory,'api.txt');
f.deleteFile();
var f = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory,'api.txt');
f.write(key);
token = key;
}
我想在第一次 time.I 尝试将其保留在 alloy.js 和 Ti.App.Properties.getString('login_token') 后用户使用 APP 时自动登录,但他们没有没用。
在我的咖啡里:
result = JSON.parse this.responseText
console.info result.token #"dsfdsfds2142fds3r32rf32e3dfefwedf"
Ti.App.Properties.setString "token",result.token
console.info Ti.App.Properties.getString "token" # it's blank
我找不到执行此操作的内置方法,所以我创建了一个 getter 和 setter 方法并将其放入 alloy.js。感觉非常 hacky 和肮脏,但它确实有效。
//retrieves the value of the token
// also checks if the token is valid and sets logged_in accordingly
function getToken(){
var f = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory,'api.txt');
var content = f.read();
//if we can read this return it, otherwise return a blank value
if (content){
return content.text;
}
else {
return '';
}
}
//persists and sets the value of token to the new value
function setToken(key){
var f = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory,'api.txt');
f.deleteFile();
var f = Ti.Filesystem.getFile(Ti.Filesystem.applicationDataDirectory,'api.txt');
f.write(key);
token = key;
}