1
我的應用程序幾乎完成sencha touch2.3,現在我想讓它在離線模式下工作。Sencha觸摸應用程序在離線
我需要從我的服務器應用程序中加載大量數據和圖像,它在在線模式下工作正常。
問題,我需要解決什麼,我做了
1.需要將數據存儲在的WebSQL(使用SQL代理)時,有一個網絡。
我是這樣做的..如果有網絡,我正在加載在線商店並將所有記錄添加到離線商店。
Ext.getStore('foodGroup').load({
callback: function(records, operation, success) {
var offFoodGrup = Ext.getStore('offFoodGroup');
offFoodGrup.add(records);
offFoodGrup.sync();
offFoodGrup.load();
}
},
scope: this
});
2.我需要的,如果需要更新離線數據,我嘗試,但它不工作。它會添加重複的數據。
Ext.getStore('foodGroup').load({
callback: function(records, operation, success) {
var offFoodGrup = Ext.getStore('offFoodGroup');
if(records.length != (localStorage.offFoodGroup || 0)){
offFoodGrup.removeAll();
offFoodGrup.sync();
offFoodGrup.load({
callback: function(offRecords, operation, success) {
offFoodGrup.add(records);
offFoodGrup.sync();
offFoodGrup.load();
localStorage.offFoodGroup = offFoodGrup.getAllCount();
},
scope: this
});
}
},
scope: this
});
3.我需要脫機顯示大量的圖片,所以我雖然圖像URL轉化爲BASE64字符串可以解決我的問題。我如何在下面的代碼中做到這一點。
Ext.define('MyAPP.view.PhotoContainer', {
extend: 'Ext.Container',
xtype : 'photoContainer',
config:{
tpl: Ext.create('Ext.XTemplate',
'<ul class="foodList">',
'<tpl for=".">',
'<li class="foodContainer" code="{code}">',
'<img class="food" src="'+localStorage.httpServerPrefix+'food/showImage/{code}" alt="{name}"/>',
'<p code="{code}" class="foodnamestyle">{[this.getpreferedlanguage(values)]}</p>',
'</li>',
'</tpl>',
'</ul>'
}),
store : 'FoodStore'
}
});