2016-10-04 20 views
0

sqliteに挿入する既存のデータがあります。私は、次のとおりにした。デバイスにデータを一度挿入する

var db = null; 
function createDatabase($cordovaSQLite){ 

    if (window.cordova) { 
    db = $cordovaSQLite.openDB({ name: "test.db" }); 
    }else{ 
    db = window.openDatabase("test.db", '1.0', 'database', 1024 * 1024 * 100); 
    } 

    var classes = "CREATE TABLE IF NOT EXISTS classes (id integer primary key, name text)"; 

    $cordovaSQLite.execute(db, classes); 

    var classesQuery = "INSERT INTO classes (name) VALUES 'class1'" 
    $cordovaSQLite.execute(db, classesQuery); 
} 

とアプリケーションがデータを挿入して、私はブラウザを更新するたびに挿入

$ionicPlatform.ready(function() { 
    if(window.cordova && window.cordova.plugins.Keyboard) { 
    cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
    cordova.plugins.Keyboard.disableScroll(true); 
    } 
    if(window.StatusBar) { 
    StatusBar.styleDefault(); 
    } 

    createDatabase($cordovaSQLite); 

}); 

準備ができたとき、私は、この関数を呼び出しました。

私はアプリケーションにデータを一度挿入したいと思いますし、保存されたデータを使用することができます。

+0

これは、$ ionicPlatform.ready()が実行されるたびにコードブラウザのsqliteをブラウザで使用しているのはなぜですか?デバイス上で一度実行されます –

+0

私は迅速なテストのためにブラウザを使用しました。デバイスでは、1回実行されます。ただし、アプリをリロードするとデータが再び挿入されます。 – limmouyleng

答えて

0

したがって、アプリケーションを初めて実行するときに定義する必要があります。

if (ApplicationInitialRun.isInitialRun()) { 
    ApplicationInitialRun.setInitialRun(false); 
} 

のでservices.js

.factory('ApplicationInitialRun', function ($window,ConnectivityMonitor,$ionicPopup) { 
return { 
    setInitialRun: function (initial) { 
     $window.localStorage["initialRun"] = (initial ? "true" : "false"); 

    }, 
    isInitialRun: function() { 
    var value = $window.localStorage["initialRun"] || "true"; 
     $window.localStorage['newuser']="new"; 
     return value == "true"; 

    } 
}; 
}) 

に、あなたはあなたのを呼び出すことができます。app.jsの内部では、機能

$ionicPlatform.ready(function() { 

にあなたはこれを(ApplicationInitialRunがサービスである)を作成する必要がありますあなたが見ることができるように、私は$ window.localStorage ['newuser'] = "new";を使用します。これで、私は例

if($window.localStorage['newuser']=="new"){ 

をチェックして、ユーザーが(値がのlocalStorageに存在する場合、あなたの機能を挿入した後あなたのケースでは、あなたがチェックすることができます)、新規であるかどうかの関数を呼び出すことができています。

希望に役立ちます。

関連する問題