@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 Tutorial
이 튜토리얼은 Ionic Capacitor 앱에서 간단한 문자열 데이터에 대한 키-값 영구 저장소를 구현하기 위해 @capgo/capacitor-data-storage-sqlite
패키지를 사용하는 프로세스를 안내합니다.
시작하기 전에 다음이 설치되어 있는지 확인하십시오.
1 터미널이나 명령 프롬프트를 열고 프로젝트 디렉터리로 이동합니다.
2 다음 명령을 실행하여 패키지를 설치합니다.
npm install --save @capgo/capacitor-data-storage-sqlite
3 설치 후 Capacitor 프로젝트를 동기화합니다.
npx cap sync
4 웹 플랫폼의 경우 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();
이제 @capgo/capacitor-data-storage-sqlite
패키지를 사용하여 Ionic Capacitor 앱에서 키-값 저장 시스템을 구현하는 방법을 배웠습니다. 이 플러그인은 다양한 플랫폼에서 문자열 데이터를 저장하고 검색하는 간단한 방법을 제공합니다. , iOS, Android, Electron, 웹 포함
오류를 적절하게 처리하고 사용이 끝나면 저장소를 닫는 것을 잊지 마십시오. 암호화된 데이터베이스, 다중 테이블 및 JSON 가져오기/내보내기 작업을 포함한 고급 사용법은 플러그인의 전체 API 문서를 참조하세요.
API 및 사용 가능한 옵션에 대한 자세한 내용은 패키지의 README 또는 설명서를 참조하세요.