Прежде всего, Sencha.IO Sync предоставляет необходимые функции. Он все еще находится в бета-версии, но, вероятно, он будет делать именно то, что вам нужно, и вам не придется размещать базу данных самостоятельно:
http://www.sencha.com/products/io
Для меня я создал приложения, которые используют прокси-сервер localalstorage для локального хранения данных. Это супер просто. Вот несколько примеров использования хранилища данных:
- http://www.sencha.com/learn/taking-sencha-touch-apps-offline/
- http://data -that.blogspot.com / 2011/01 / локальное хранение прокси-с-сенч-touch.html
- http://davehiren.blogspot.com/2011/09/sencha-touch-working-with-models.html
- http://www.sencha.com/learn/working-with-forms/
Позже в приложении у меня есть вызов AJAX, который берет все эти локальные данные и отправляет их на сервер для генерации некоторых отчетов.
Как только вы правильно настроите свои магазины и модели, вы сможете легко получить данные из них. Например, у меня есть магазин contactInfo, в котором только одна запись:
var myContactInfo = contactInfo.first().data;
У меня есть еще один магазин под названием settings, в котором много записей. Я могу легко получить их, как это (хотя может быть лучший способ):
var settingsArr = []
settings.each(function() {
settingsArr.push(this.data);
});
Затем я могу легко отправить это на сервер следующим образом:
var data = {settings: settingsArr, contactInfo: myContactInfo};
Ext.Ajax.request({
url: 'save.php',
params: {json: Ext.encode(data)},
success: function(response, opts) {
// celebrate
}
});
Как и во всех вещах, хороший обзор примеров и API должен помочь вам, как только вы разберетесь с основами:
http://dev.sencha.com/deploy/touch/docs/?class=Ext.data.Store