我对 Appcelerator/Titanium 很陌生。谁能告诉我如何在合金(钛)中使用本地存储功能。(在 Web 上没有得到任何好的解决方案)。
谢谢!:)
我对 Appcelerator/Titanium 很陌生。谁能告诉我如何在合金(钛)中使用本地存储功能。(在 Web 上没有得到任何好的解决方案)。
谢谢!:)
钛合金具有定制的实施骨干。这意味着钛在很多事情上都使用了 Backbone,但同时一些重要的特性被遗漏了。
Titanium 的 Backbone 最常用的部分之一是模型,虽然这与 js 框架的那些不完全相同,但它们有很多共同点。
要使用数据模型,必须定义一个适配器(这可以是 localStorage、sql、属性或自定义同步适配器)
如果你想使用 localStorage,你的模型应该是这样的:
exports.definition = {
config: {
"defaults": {
"first_name": "",
"last_name": "",
"phone": "",
"email": ""
},
"adapter": {
"type": 'localStorage',
"collection_name": 'user'
}
},
extendModel: function(Model) {
_.extend(Model.prototype, {
}); // end extend
return Model;
},
extendCollection: function(Collection) {
_.extend(Collection.prototype, {
}); // end extend
return Collection;
}
};
要操作数据,那么您应该使用:
创建数据
model = Alloy.createModel('user', {first_name: 'Pedro', last_name: Picapiedra});
// or model.save();
Alloy.Collections.user.add(model);
读取数据
callection = Alloy.Collections.user.fetch()
model = Alloy.Collections.user.get(modelId)
更新数据
user.set({
first_name : 'Pablo',
last_name : 'Marmol',
});
user.save();
删除数据
model.destroy();
collection.remove(model);
了解更多信息:
有关一般指南,请参阅https://wiki.appcelerator.org/display/guides/Working+with+Local+Data+Sources。
访问文件是通过 Ti.Filesystem 完成的。请参阅http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.Filesystem上的文档。您还应该看到厨房水槽示例,因为它显示读/写文件很热https://github.com/appcelerator/KitchenSink/blob/master/Resources/ui/common/platform/filesystem.js。
如果你只是想在本地存储一些数据,很多人使用 sqlite 数据库。请参阅http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.Database。
最简单的方法是使用属性。它是有限的,但对许多人来说已经足够了。http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.App.Properties