Mam aplikację mobilną na bazie Cordova i ionic. Na domyślnej stronie, która jest ładowana po uruchomieniu aplikacji, należy pracować z wtyczką SQLLite.Jak prawidłowo używać Deviceready w aplikacji jonowej?
https://github.com/brodysoft/Cordova-SQLitePlugin
Problem jest to, że widok zawiera
ng-init="setData()"
Która jest wywołanie metody kontrolera gdzie pracował z wtyczką SQL Lite. A ponieważ metoda jest wywoływana, zanim zdarzenie deviceready nie zostanie zainicjowane (wtyczka może zostać zainicjowana dopiero po zdarzeniu deviceready).
Więc próbowałem tego obejścia:
.run(function($ionicPlatform) {
$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);
db = window.sqlitePlugin.openDatabase({name:"callplanner"});
}
Ale to nie działa dla mnie.
więc próbowałem drugie rozwiązanie:
.factory('cordova', function() {
return {
test: function(){
document.addEventListener("deviceready", this.ready, false);
},
ready: function(){
alert("Ready");
db = window.sqlitePlugin.openDatabase({name:"callplanner"});
}
}
})
i kontrolera init, próbowałem:
cordova.test();
Ale to nie działa do (devicereadfy jest zwolniony po NG-pliku init).
Potem znalazłem ten artykuł:
http://java.dzone.com/articles/ionic-and-cordovas-deviceready
Ale ja nie rozumiem, w jaki sposób umieścić „ekran powitalny” zanim aplikacja jest gotowa i jak ustawić limit czasu.
Masz pomysł, jak rozwiązać ten problem?
Wielkie dzięki za radę lub pomoc.
Nikt nie wie, jak go rozwiązać? – redrom