2016-06-16 13 views
1

HTC One A9でのみ表示されるため、奇妙な問題が発生しています。 それはマシュマロ6.0.1(これのためかもしれない)があります。 他のすべてのデバイス(OSとしてロリポップ付き)では、アプリケーションは期待どおりに動作しています。 アプリはPhonegapで開発されました。 Sqliteプラグイン:cordova-plugin-sqliteHTC Oneにデータベースが設定されていないA9

一部のコードスニペット。

function OnDeviceReady(){ 

if(isOnline==true){ 
    try{ 
     app.initialize(); 
    } 
    catch(exc){  
    } 
} 
else{ 
    var db = window.sqlitePlugin.openDatabase({ name: "abc.db", createFromLocation: 1 }); 
    db.transaction(function (tx) {}); 
    } 
} 

データベースはwwwディレクトリにあります。 エラーを理解できないのは、Marshmallow 6.0.1またはsqliteプラグインのためです。 データベースをあらかじめ作成しているうちに、常にInvalid database handleエラーが発生します。 誰でもこの問題を助けることができますか?

+0

こんにちは私は新しいSony Xperia Phoneで全く同じ問題を抱えています。私の古いAndroid携帯電話でもうまくいきますが、Android Marshmallowでは同じ問題が発生します。 問題の解決方法を見つけることができますか? ありがとう! –

+0

はい..解決策を見つけて...それを投稿... – Bunny

答えて

0

データベースのプリプロセッシングにはcordova-sqlite-extプラグインを使用する必要があります。 この後、次の

var db = window.sqlitePlugin.openDatabase({ name: dbName, location:'default', createFromLocation: 1 }); 
    db.transaction(function (tx) {}); 

と後続の呼び出しでの書き込み以下を使用 -

db = window.sqlitePlugin.openDatabase({ name: dbName, location : 'default' }); 


     db.transaction(function (tx) { 

      //Make the search query 
      var _strSearchQuery = "where prod_id = '" + id + "' "; 

      // Call the function to get the data from the local database and bind 
      nsProductGetMSDS.RetriveProductDetails(tx, _strSearchQuery); 

     }, CommonError, DoNothing); 


    } 
    else{ 
     alert(noInternetMessage); 
    } 

それがお役に立てば幸いです。

+0

あなたの助けをありがとう!私はcordova-plugin-sqliteプラグインをもう使用しないことで解決しましたが、最初のプラグインの新しいバージョンであるcordova-plugin-storageを使用しました。 –

+0

可能であればHTC One A9(Marshmallow 6.1)でこのデバイスをチェックしてください...私もストレージプラグインとディントが上記のデバイスで動作していたので...できるだけクロスチェックしてください...ありがとう – Bunny

+0

それは動作しました!また、xperiaの電話で6.1を使用!あなたがテストしてからプラグインが更新されたのかもしれません! –

関連する問題