gpt4 book ai didi

android - CacheFactory 在我的浏览器中工作但在我的 apk 中不工作

转载 作者:行者123 更新时间:2023-11-30 01:57:01 24 4
gpt4 key购买 nike

我已将 Angular 缓存添加到我的应用程序,并创建了我的项目,如下所示:

angular.module('rotaryApp', ["ionic", "angular-cache"])
.run(function($ionicPlatform, CacheFactory) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
CacheFactory("songsDataCache", { storageMode: "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" });
CacheFactory("versesCache", { storageMode: "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" });
CacheFactory("chorusCache", { storageMode: "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" });
CacheFactory("imageCache", { storageMode: "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" });
CacheFactory("searchCache", { storageMode: "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" });
//CacheFactory("myTeamsCache", { storageMode: "localStorage" });
//CacheFactory("staticCache", { storageMode: "localStorage" });

});})

我的服务如下所示:

(function () {
'use strict';

angular.module('rotaryApp').factory('eliteApi', ['$http', '$q', '$ionicLoading','CacheFactory', eliteApi]);

function eliteApi($http,$q,$ionicLoading,CacheFactory ) {
var songid;


self.songsDataCache = CacheFactory.get("songsDataCache");
self.versesCache = CacheFactory.get("versesCache");
self.chorusCache = CacheFactory.get("chorusCache");


function getLeagues(){
var defered = $q.defer(),
cacheKey = "songs",
songsData = self.songsDataCache.get(cacheKey);
if(songsData){

console.log("found data in cache");
defered.resolve(songsData);

} else {

$ionicLoading.show({template: 'Loading Songs...'})
var url = "http://bestng.com/notrealurl";
$http.get(url)
.success(function (data) {
$ionicLoading.hide();
console.log("Received data via HTTP");
self.songsDataCache.put(cacheKey, data);
defered.resolve(data);

})
.error(function (data){
defered.reject();
});
}

return defered.promise;


}


function setSongid(sid){
songid = sid;
}

return {
getLeagues: getLeagues,
getLeaguesByTitle: getLeaguesByTitle,
getVerse:getVerse,
getChorus:getChorus,
getLeagueData: getLeagueData,
setSongid: setSongid
};
};

})();

下面是我的 Controller :

(function () {
'use strict';

angular.module('rotaryApp').controller('LeaguesCtrl', ['$state', 'eliteApi', LeaguesCtrl]);

function LeaguesCtrl($state, eliteApi) {
var vm = this;

eliteApi.getLeagues().then(function(data){
vm.leagues = data;

});

};

})();

当我不使用“ionic serve”时,getLeagues 函数在我的浏览器中运行良好,但一旦我使用“ionic emulate android”,它就返回一个空白屏幕。请帮助我了解为什么这在我的浏览器中有效但在我的 apk 中无效。

感谢您的宝贵时间。

问候

最佳答案

缓存工厂必须在 ionicPlatform.ready() 之外,但在 run(function(){ ...}) 内声明

将问题中的我的 app.js 与下面的工作 app.js 进行比较:

angular.module('rotaryApp', ["ionic", "angular-cache"])

.run(function($ionicPlatform, CacheFactory) {
$ionicPlatform.ready(function() {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
// org.apache.cordova.statusbar required
StatusBar.styleDefault();
}
}); // end of ready()

CacheFactory("songsDataCache", { storageMode: "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" });
CacheFactory("versesCache", { storageMode: "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" });
CacheFactory("chorusCache", { storageMode: "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" });
CacheFactory("imageCache", { storageMode: "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" });
CacheFactory("searchCache", { storageMode: "localStorage", maxAge: 360000, deleteOnExpire: "aggressive" });

}); // end of run(function(){..})

这对我有用。我希望它对你也有用

关于android - CacheFactory 在我的浏览器中工作但在我的 apk 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32069547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com