我有基于Cordova和Ionic的移动应用程序。在应用程序启动后加载的默认页面上,需要使用SQLLite插件。
https://github.com/brodysoft/Cordova-
SQLitePlugin
问题是视图包含
ng-init="setData()"
哪个调用了与SQL
Lite插件一起使用的控制器方法。并且由于该方法在未初始化deviceready事件之前调用该方法(只能在deviceready事件之后初始化插件)。
所以我尝试了这种解决方法:
.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"});
}
但这对我不起作用。
所以我尝试了第二种解决方案:
.factory('cordova', function () {
return {
test: function(){
document.addEventListener("deviceready", this.ready, false);
},
ready: function(){
alert("Ready");
db = window.sqlitePlugin.openDatabase({name:"callplanner"});
}
}
})
在控制器初始化中,我尝试过:
cordova.test();
但这不起作用(ng-init之后会触发devicereadfy)。
之后,我找到了这篇文章:
http://java.dzone.com/articles/ionic-and-cordovas-
deviceready
但是我不明白如何在应用就绪之前放置“启动画面”以及如何设置超时时间。
有人知道我该如何解决这个问题?
非常感谢您的任何建议或帮助。
您需要将其反转,首先处理cordova“ deviceready”事件,然后启动angularjs应用程序。像这样:
首先,从html / body标签中删除ng-app属性
devireready准备就绪后启动angular应用程序:
<script>
document.addEventListener('deviceready', function() {
angular.bootstrap(document, ['YourAppName']);
}, false);
var YourAppName = angular.module('YourAppName', []);
</script>
问题内容: 对于目前市场上的iOS Ruler应用程序如何与不同尺寸的设备兼容,我确实感到困惑。底部显示了一个示例。 经过研究,我得出的结论是不可能实时获取当前屏幕的PPI,这使得不可能以编程方式绘制标尺。 我的查询是这些标尺应用程序如何在无法获取设备PPI的情况下准确显示标尺? 我首先想到的是每个设备的PPI和屏幕尺寸都硬编码到应用程序中。这似乎需要付出很大的努力,并且会导致一百万个错误。这真的
问题内容: 他们在Spring Boot Document中说:“每个SpringApplication都会向JVM注册一个关闭钩子,以确保ApplicationContext在退出时正常关闭。” 当我单击命令时,可以正常关闭应用程序。如果我在生产机器上运行该应用程序,则必须使用命令 。但是我无法关闭shell终端,否则它将关闭进程。 如果我运行像这样的命令,我将无法正常关闭它。 在生产环境中启动
我正在使用AutoLayout开发iPad应用程序,如果用户启用某个模式(“平视”模式),我希望只支持纵向(或纵向倒置)方向,而且,如果设备处于横向,我希望自动切换到纵向模式。 在顶视图控制器中,我有以下内容: 根据我在这里其他地方看到的答案,答案似乎是我应该使用“application SetStatusBaroOrientation”。因此,在用户选择“抬头”模式的方法中,我包括: 然而,这似
如果运行类似这样的命令,就不能使用优雅地关闭它。 在生产环境中启动和停止Spring Boot应用程序的正确方法是什么?
我正在编写用于备份和恢复一些android数据和设置(用于root设备)的应用程序。我成功地设法备份了呼叫和短信数据库、主页布局和rom(系统)设置,但现在我需要了解是否(以及如何)可以备份Exchange帐户,以便在新的rom安装后在gmail应用程序中恢复和重用它们,而无需手动设置。我能够备份com.google.android.gm包数据。android中存储的Exchange帐户信息在哪里
服务器时间在单击按钮事件中自动设置为我的设备。