@capgo/capacitor-data-storage-sqlite
CAPACITOR 6
Note from the Owner
This Plugin has been transfered to Capgo org after his original creator @jepiqueau decide to retire.
We will forever be thankful for the work he did.
Capacitor Data Storage SQlite Plugin is a custom Native Capacitor plugin providing a key-value permanent store for simple data of type string only to SQLite on IOS, Android and Electron platforms and to IndexDB for the Web platform.
Maintainer | GitHub | Social |
---|---|---|
Martin Donadieu | riderx | |
Quéau Jean Pierre | jepiqueau |
The plugin follows the guidelines from the Capacitor Team
,
meaning that it will not work in IE11 without additional JavaScript transformations, e.g. with Babel.
npm install --save @capgo/capacitor-data-storage-sqlite
npx cap sync
On iOS, no further steps are needed.
On Android, no further steps are needed.
On Web,
npm install --save localforage
npm install --save @capacitor-community/electron
npx cap add @capacitor-community/electron
Go to the Electron folder of your application
cd electron
npm install --save sqlite3
npm install --save-dev @types/sqlite3
npm run build
cd ..
npx cap sync @capacitor-community/electron
Then build YOUR_APPLICATION
npm run build
npx cap copy
npx cap copy @capacitor-community/electron
npx cap open ios
npx cap open android
npx cap open @capacitor-community/electron
ionic serve
No configuration required for this plugin
Name | Android | iOS | Electron | Web |
---|---|---|---|---|
openStore (non-encrypted DB) | ✅ | ✅ | ✅ | ✅ |
openStore (encrypted DB) | ✅ | ✅ | ❌ | ❌ |
closeStore | ✅ | ✅ | ✅ | ❌ |
isStoreOpen | ✅ | ✅ | ✅ | ❌ |
isStoreExists | ✅ | ✅ | ✅ | ❌ |
deleteStore | ✅ | ✅ | ✅ | ❌ |
setTable | ✅ | ✅ | ✅ | ✅ |
set | ✅ | ✅ | ✅ | ✅ |
get | ✅ | ✅ | ✅ | ✅ |
iskey | ✅ | ✅ | ✅ | ✅ |
keys | ✅ | ✅ | ✅ | ✅ |
values | ✅ | ✅ | ✅ | ✅ |
filtervalues | ✅ | ✅ | ✅ | ✅ |
keysvalues | ✅ | ✅ | ✅ | ✅ |
remove | ✅ | ✅ | ✅ | ✅ |
clear | ✅ | ✅ | ✅ | ✅ |
isTable | ✅ | ✅ | ✅ | ✅ |
tables | ✅ | ✅ | ✅ | ✅ |
deleteTable | ✅ | ✅ | ✅ | ❌ |
isJsonValid | ✅ | ✅ | ✅ | ✅ |
importFromJson | ✅ | ✅ | ✅ | ✅ |
exportToJson | ✅ | ✅ | ✅ | ✅ |
The IOS & Android code use SQLCipher allowing for database encryption.
The Android code is now based on androidx.sqlite
. The database is not closed anymore after each transaction for performance improvement.
You must manage the close
of the database before opening a new database.
The Web code use localforage
package to store the datastore in the Browser.
The Electron code use sqlite3
package
Thanks goes to these wonderful people (emoji key):
Jean Pierre Quéau 💻 |
Matthew Burke 📖 |
Kevin van Schaijk 💻 |
Andy Garbett 📖 |
This project follows the all-contributors specification. Contributions of any kind welcome!
Retirement message of @jepiqueau -->
I have been dedicated to developing and maintaining this plugin for many years since the inception of Ionic Capacitor. Now, at 73+ years old, and with my MacBook Pro becoming obsolete for running Capacitor 6 for iOS, I have made the decision to cease maintenance of the plugin. If anyone wishes to take ownership of this plugin, they are welcome to do so.
It has been a great honor to be part of this development journey alongside the developer community. I am grateful to see many of you following me on this path and incorporating the plugin into your applications. Your comments and suggestions have motivated me to continuously improve it.
I have made this decision due to several family-related troubles that require my full attention and time. Therefore, I will not be stepping back. Thank you to all of you for your support.
End <--
capgo/capacitor-data-storage-sqlite チュートリアル
このチュートリアルでは、@capgo/capacitor-data-storage-sqlite
パッケージを使用して、Ionic Capacitor アプリでシンプルな文字列データのためのキー・バリューの永続的ストレージを実装する方法を説明します。
始める前に、以下がインストールされていることを確認してください:
1 ターミナルまたはコマンドプロンプトを開き、プロジェクトディレクトリに移動します。
2 以下のコマンドを実行してパッケージをインストールします:
npm install --save @capgo/capacitor-data-storage-sqlite
3 インストール後、Capacitor プロジェクトを同期します:
npx cap sync
4 Web プラットフォームのために、localforage をインストールします:
npm install --save localforage
5 Electron プラットフォームのために、以下の追加手順を実行します:
npm install --save @capacitor-community/electron
npx cap add @capacitor-community/electron
cd electron
npm install --save sqlite3
npm install --save-dev @types/sqlite3
npm run build
cd ..
npx cap sync @capacitor-community/electron
パッケージをインストールしましたので、アプリでの使用方法を見てみましょう。
まず、TypeScript ファイルにプラグインをインポートします:
import { Capacitor } from '@capacitor/core';
import { CapacitorDataStorageSqlite, capDataStorageSqlite } from '@capgo/capacitor-data-storage-sqlite';
ストレージを使用するには、ストアを開く必要があります:
async function openStore() {
const store = new CapacitorDataStorageSqlite(Capacitor.getPlatform());
await store.openStore({ database: "my_db", table: "my_table" });
return store;
}
ストアに値を設定するには:
async function setValue(store, key: string, value: string) {
await store.set(key, value);
}
ストアから値を取得するには:
async function getValue(store, key: string) {
const result = await store.get(key);
return result.value;
}
ストアにキーが存在するか確認するには:
async function isKeyExists(store, key: string) {
const result = await store.iskey(key);
return result.result;
}
ストアからキーを削除するには:
async function removeKey(store, key: string) {
await store.remove(key);
}
ストアからすべてのデータを消去するには:
async function clearStore(store) {
await store.clear();
}
ストアの使用が終わったら、クローズすることが良い習慣です:
async function closeStore(store) {
await store.closeStore();
}
以下は、プラグインの使用方法の完全な例です:
import { Capacitor } from '@capacitor/core';
import { CapacitorDataStorageSqlite, capDataStorageSqlite } from '@capgo/capacitor-data-storage-sqlite';
async function dataStorageExample() {
const store = new CapacitorDataStorageSqlite(Capacitor.getPlatform());
try {
// Open the store
await store.openStore({ database: "my_db", table: "my_table" });
// Set a value
await store.set("myKey", "Hello, Capacitor!");
// Get the value
const result = await store.get("myKey");
console.log("Value:", result.value);
// Check if key exists
const keyExists = await store.iskey("myKey");
console.log("Key exists:", keyExists.result);
// Remove the key
await store.remove("myKey");
// Clear the store
await store.clear();
} catch (error) {
console.error("Error:", error);
} finally {
// Close the store
await store.closeStore();
}
}
dataStorageExample();
これで、Ionic Capacitor アプリにおけるキー・バリューのストレージシステムを実装するために @capgo/capacitor-data-storage-sqlite
パッケージの使い方を学びました。このプラグインは、iOS、Android、Electron、Web などのさまざまなプラットフォームで文字列データを保存・取得するためのシンプルな方法を提供します。
エラーを適切に処理し、使用が終わったらストアを閉じることを忘れないでください。暗号化されたデータベース、複数のテーブル、JSONのインポート/エクスポートなどの高度な使用法については、プラグインの完全なAPIドキュメントを参照してください。
APIおよび利用可能なオプションに関する詳細な情報については、パッケージのREADMEまたはドキュメントを参照してください。