J'ai configuré une application SenchaTouch/PhoneGap qui extrait des informations d'un flux XML externe. Mon problème est que cela ne fonctionnera évidemment qu'en ligne.Comment stocker des données locales dans Sencha Touch/PhoneGap?
Comment puis-je stocker les informations du flux externe dans le stockage local pour les utiliser hors connexion?
Voici les données d'applications magasin code:
App.eventstore = new Ext.data.Store({
model: 'Event',
sorters: 'title',
autoLoad: true,
getGroupString : function(record) {
return record.get('title')[0];
},
proxy: {
type: 'ajax',
url: 'http://the-url-to-the-file.xml',
reader: {
idProperty: 'id',
type: 'xml',
root: 'events',
record: 'event'
}
}
});
App.eventstore.read();
mise à jour après la réponse de Ilya139:
J'ai mis en place le code, mais maintenant ma liste est vide ... : (
Boutique
App.eventstore = new Ext.data.Store({
model: 'Event',
sorters: 'title',
autoLoad: true,
getGroupString : function(record) {
return record.get('title')[0];
},
proxy: {
type: 'ajax',
url: 'http://the-url-to-the-file.xml',
reader: {
idProperty: 'id',
type: 'xml',
root: 'events',
record: 'event'
}
}
});
App.eventstore.read();
App.eventstore.each(function(record){record.save();});
App.offlineeventstore = new Ext.data.Store({
model: 'Event',
sorters: 'title',
autoLoad: true,
getGroupString : function(record) {
return record.get('title')[0];
},
proxy: {
type: 'localstorage',
id:'events'
}
});
App.offlineeventstore.read();
Modèle
Ext.regModel('Event', {
fields: [
{name: 'id', mapping: '@id', type: 'integer'},
{name: 'title', type: 'string'},
etc etc...
],
proxy: {
type: 'localstorage',
id:'events'
}
});
Et la liste est configuré pour utiliser le magasin en ligne:
items: [{
xtype: 'list',
store: App.offlineeventstore,
itemTpl: '{title}',
grouped: true,
indexBar: true,
Merci pour votre réponse, je l'ai mis à jour ma question en conséquence –
Vous devriez appelle 'load()' sur 'eventstore' (il n'a pas de méthode' read() ') et a une fonction qui sera rappelée après le chargement s terminé et dans cette fonction faire l'économie. Vérifiez ma réponse mise à jour. – ilija139
C'est super merci! Maintenant, dans weinre je vois les données dans le magasin local, cependant la liste est toujours vide ... Des idées? –