如何在钛/合金中使用localstorage?

时间:2013-06-25 06:49:48

标签: titanium titanium-mobile appcelerator-mobile

我是Appcelerator / Titanium的新手。谁能告诉我如何在合金(Titanium)中使用 localstorage 功能。 (没有在Web上获得任何好的解决方案)。

谢谢! :)

2 个答案:

答案 0 :(得分:8)

钛合金有一个定制的实施主干。这意味着钛在许多方面使用Backbone,但同时也遗漏了一些重要的功能。

Backbone by Titanium最常用的部分之一是模型,虽然与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);

了解更多信息:

Titanium Sync & apadters

Backbone Sync, collections, models & etc

答案 1 :(得分: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