Привет, в настоящее время я использую LocalStorage в своем Sencha Touch + Phonegap в своем приложении и загружен более 4000+ записей из WCF Rest. В режиме разработки у меня нет проблем с запуском в Google Chrome, но когда я упаковал его и установил в устройство iOS8, мое приложение аварийно завершает работу.База данных для приложения Sencha Touch + Phonegap
Ниже общая LocalStorage длина в консоли:
>JSON.stringify(localStorage).length
> 2917665
Модель:
Ext.define("QualityAudit.model.DefectMatrix", {
extend: "Ext.data.Model",
config: {
identifier: { type: 'uuid', isUnique: true },
fields: [
{ name: "DefectMatrixID", type: "integer" },
{ name: "CustomerID", type: "integer" },
{ name: "CustomerName", type: "string" },
{ name: "DefectType", type: "integer" },
{ name: "DefectTypeName", type: "string" },
{ name: "Reference", type: "string" },
{ name: "Section", type: "string" },
{ name: "DefectDescription", type: "string" },
{ name: "SeverityID", type: "integer" },
{ name: "SeverityName", type: "string" },
{ name: "IsActive", type: "bool" },
{ name: "CreatedBy", type: "string" },
{ name: "CreatedDate", type: 'date', dateFormat: 'MS' }
]
}
});
Магазин:
defectSync: function (counter, totRecords, callback) {
var me = this;
if (counter == undefined)
counter = 0;
//load defect matrix local local storage
var defectsLocalStore = Ext.getStore('DefectMatrix');
defectsLocalStore.load();
var defectssurl = window.REST_DMGetListAllPaging + counter;
QualityAudit.util.Proxy.doAjaxCall(defectssurl, '',
function (response) {
var data = Ext.JSON.decode(response.responseText); //encode Json List
defectsLocalStore.load({
callback: function (records, operation, success) {
Ext.Array.each(data, function (record) {
counter++;
record.dirty = true;
defectsLocalStore.add(record);
defectsLocalStore.sync();
});
console.log('DECFECT DATA AFTER SYNC: ' + defectsLocalStore.getData().length);
//Check if all records loaded on local storage is equail to total defect rows then complete
if (defectsLocalStore.getData().length >= totRecords) {
console.log('defect loading successfull');
callback();
} else {
//Trigger again until condition is met
me.defectSync(counter, totRecords, callback);
}
},
scope: this
});
},
function (response) {
defectsLocalStore.load();
callback(0);
});
}
ли кто-нибудь пробовал использовать WebSQL или SQLlite в ваш проекты? Я не могу найти хороший образец этого.
Любая помощь и предложения действительно оценены.
Hi @Joerg Вы все еще используете sencha store, если вы уже используете sqlite? – BizApps
Нет, извините. Я не использую магазин sencha. – Joerg
Можете ли вы дать какой-либо пример кода при заполнении списка сенсорного списка Sencha? Спасибо – BizApps