2012-03-16 8 views
1

Phonegap 1.4.1.jsとjquery.mobile-1.0.1.min.jsを使用してAndroidアプリケーションを開発しています。私は、Sqliteデータベースを作成するためにopenDatabase()を使用しています。データベースは正常に動作しています。ここで問題は、アプリケーションがバックグラウンドで実行されている間、データベースが正常に動作していることです。アプリケーションが手動でFORCESTOPの場合、データベースレコードを照会することはできません。しかし、データベースはDevice of Local Storageに存在しています。アプリケーションを再オープンした後でも、Logcatは警告やエラーを表示しません。Androidアプリケーションを強制停止するときにSqliteデータベースレコードが取得されない

 function onDeviceReady() 
    { 
      CheckLoginData(); 
    } 
    function checkLoginData() { 
    var db = openDatabase("LoginData", "1.0", "LoginData", 200000);  
     db.transaction(queryLoginData, errorLoginData); 

} 
function queryLoginData(tx) { 
    tx.executeSql("SELECT * FROM LoginData where LoginDate='" + InsertCurrentDate + "'", [], querySuccessLoginData, errorLoginData); 
} 

function querySuccessLoginData(tx, results) { 
    // the number of rows returned by the select statement 
     console.log("Insert ID = " + results.rows.length); 
     var len = results.rows.length; 
     if((len > 0)) { 
      var DBdate = results.rows.item(0).LoginDate; 
      var date= new Date(); 
      var month = date.getMonth()+1; 
      var day = date.getDate(); 
      var year = date.getFullYear(); 
      var systemDate = year+'-'+month+'-'+day; 
      //alert(DBdate + ' '+systemDate); 
      if(DBdate==systemDate) 
       { 
        //alert(DBdate + ' '+systemDate); 
        document.location.href = "#recent"; 
       } 
      else 
       { 
        alert("Please Login for Today"); 
        document.location.href = "#login"; 
        $('#useridBox').val(''); 
        $('#passwdBox').val(''); 
       } 
     } 
     if(len==0){ 
      var strURL = document.location.href; 
      document.location.href = strURL+"#login"; 
     } 
} 

function errorLoginData(err) { 
    var strURL = document.location.href; 
    document.location.href = strURL+"#login"; 
    //alert("Error while Retrieving Data"); 
} 

コードのいずれかの問題があります:

は、ここでユーザーのログイン詳細を実装するための私のコードです。アプリケーションを強制停止するたびにデータベースレコードを取得する方法を教えてください。

答えて

1

最新のバージョンのCodova-1.5.0を使用することをお勧めします。 アプリケーションを強制的に停止している間に、Phonegap(webviewによって提供されるデフォルトのデータベースを使用する)に問題がある可能性があります。

私はそれはあなたがあなたの希望を取得しますちょうどこの簡単なコマンドで /data/data/package-name/databases/

window.openDatabase("something", "1.0", "PhoneGap Demo", 0); 

であるAndroidのデフォルトの場所にデータベースを作成するようにコルドバ(https://github.com/Coder-Nasir/incubator-cordova-android)を変更した

上記の場所にsomething.db ..

関連する問題