我使用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();
});