この Cordova プラグインは、HTML5/Web SQL API を使用して Android、iOS、Windows 上で sqlite データベースを開き、使用します。
Plugin ID/Package Name: cordova-sqlite-storage
サードパーティー製 Cordova プラグインを確認する場合は、カスタムビルドデバッガー ( Android 版 または iOS 版 ) を作成する必要があります。
デモ
プロジェクトをインポート
Monaca クラウド IDE でプラグインを有効にする
IDE メニューから設定 → Cordova プラグインの管理
へ移動します。
Cordova プラグインのインポート
ボタンをクリックします。 次に、[ZIP ファイル] または [パッケージ名 / URL] を使用してプラグインをインポートします。
使い方
プラグインをプロジェクトへインポート後、データベースの初期化を開始できます。[deviceready] イベント後にプラグイン API を使用します。
コピー var database = null;
document.addEventListener("deviceready", function(){
// Initialize the database after the Cordova is ready.
initDatabase();
});
function initDatabase() {
database = window.sqlitePlugin.openDatabase({name: 'sample.db', location: 'default'});
database.transaction(function(transaction) {
transaction.executeSql('CREATE TABLE SampleTable (name, score)');
});
}
API リファレンス
ここでは、デモ で使用されている主な API について説明します。 完全なAPIリファレンスについては、こちら を参照してください。
セルフテスト 機能
echoTest()
このプラグインの Javascript とネイティブ部分の両方がアプリにインストールされていることを確認してください。
コピー window.sqlitePlugin.echoTest(successCallback, errorCallback);
戻り値
selfTest()
プラグインがデータベースを開き、CRUD (作成、読み取り、更新、削除) 操作を実行し、正しくクリーンアップできることを確認します。
コピー window.sqlitePlugin.selfTest(successCallback, errorCallback);
戻り値
データベースの操作
データベースオブジェクトを開きます。
コピー window.sqlitePlugin.openDatabase({name: String, [location: String],
[iosDatabaseLocation: String]}, [successCallback], [errorCallback]);
パラメーター
[オプション] iOSデータベースの場所。
default
: Library/LocalDatabase サブディレクトリ - iTunes には表示されず、iCloud によってバックアップされません。
Library
: Library サブディレクトリ - iCloud によってバックアップされ、iTunes には表示されません。
Documents
: Documents サブディレクトリ - iTunesに表示され、iCloudによってバックアップされる
戻り値
例
既定または指定された場所でデータベースアクセスハンドルオブジェクトを開く例:
コピー // use the default location
var database = window.sqlitePlugin.openDatabase({name: 'my.db', location: 'default'});
// use a specified location for iOS only
var database = window.sqlitePlugin.openDatabase({name: 'my.db', iosDatabaseLocation: 'Library'});
success および error コールバックパラメーターはオプションですが、問題が発生した場合に非常に役立ちます。 例:
コピー window.sqlitePlugin.openDatabase({name: 'my.db', location: 'default'}, function(db) {
db.transaction(function(tx) {
// ...
}, function(err) {
console.log('Open database ERROR: ' + JSON.stringify(err));
});
});
SQL トランザクション
開いているデータベースで SQL を実行します。
コピー database.executeSql(SQL_STATEMENT: String, [] , [successCallback], [errorCallback]);
戻り値
例
コピー database.transaction(function(transaction) {
transaction.executeSql('SELECT count(*) AS recordCount FROM SampleTable', [], function(ignored, resultSet) {
$('#result').text('RECORD COUNT: ' + resultSet.rows.item(0).recordCount);
});
}, function(error) {
alert('SELECT count error: ' + error.message);
});
コピー database.transaction(function(transaction) {
transaction.executeSql('DELETE FROM SampleTable');
}, function(error) {
alert('DELETE error: ' + error.message);
}, function() {
alert('DELETE OK');
});
データベースの削除
データベースオブジェクトを削除します。
コピー window.sqlitePlugin.deleteDatabase({name: String, [location: String],
[iosDatabaseLocation: String]}, [successCallback], [errorCallback]);
パラメーター
[オプション] iOSデータベースの場所。
default
: Library/LocalDatabase サブディレクトリ - iTunes には表示されず、iCloud によってバックアップされません。
Library
: Library サブディレクトリ - iCloud によってバックアップされ、iTunes には表示されません。
Documents
: Documents サブディレクトリ - iTunesに表示され、iCloudによってバックアップされる
戻り値
例
コピー // use the default location
window.sqlitePlugin.deleteDatabase({name: 'my.db', location: 'default'}, successcb, errorcb);
// use a specified location for iOS only
window.sqlitePlugin.deleteDatabase({name: 'my.db', iosDatabaseLocation: 'Library'});