当我重新启动应用程序时,SQLite插件不起作用

时间:2015-02-27 06:17:04

标签: android sqlite cordova ionic-framework

我使用ionic / cordova / sqlite插件创建了一个Android应用程序。当我启动应用程序时,db插件运行良好,它打开数据库并按预期执行sql查询。 接下来我使用后退按钮退出应用程序并再次启动它,我发现数据库再次打开,但我无法使用此数据库执行查询,我无法收到错误消息。我不知道为什么。 如果我通过菜单按钮从内存中删除此应用程序并再次启动应用程序,则可以正常运行。

android是4.2.2。谁能知道我怎么解决它?

我的数据库服务:

angular.module('starter.controllers', ['ionic', 'ngCordova'])
.factory( '$h5_dbservice',
          [ '$cordovaSQLite','$rootScope',
            function( $cordovaSQLite,$rootScope ){
                return {
                    initDB : function() {
                        db = $cordovaSQLite.openDB( "h5app.db", 1 );
                        db.transaction(
                            function(tx) {
                                tx.executeSql('CREATE TABLE IF NOT EXISTS tab1  ( ... )'
                                tx.executeSql('CREATE TABLE IF NOT EXISTS tab2 ( ... )'
                                tx.executeSql('SELECT count(*) AS cnt FROM  tab1 WHERE ...

在我的app.js

.run(function($ionicPlatform, $h5_dbservice) {
  $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();
    }
    $h5_dbservice.initDB();
  });

0 个答案:

没有答案