2

我对 Appcelerator/Titanium 很陌生。谁能告诉我如何在合金(钛)中使用本地存储功能。(在 Web 上没有得到任何好的解决方案)。

谢谢!:)

4

2 回答 2

8

钛合金具有定制的实施骨干。这意味着钛在很多事情上都使用了 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);

了解更多信息:

钛同步和适配器

骨干同步、收藏、模型等

于 2013-06-26T05:26:48.593 回答
0

有关一般指南,请参阅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

于 2013-06-25T12:17:01.130 回答