@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
Este tutorial te guiará en el proceso de uso del paquete @capgo/capacitor-data-storage-sqlite
para implementar un almacenamiento permanente de clave-valor para datos de cadena simples en tu aplicación Ionic Capacitor.
Antes de comenzar, asegúrate de tener instalado lo siguiente:
1 Abre tu terminal o símbolo del sistema y navega a tu directorio de proyecto.
2 Ejecuta el siguiente comando para instalar el paquete:
[[BLOQUE_DE_CÓDIGO]]
3 Después de la instalación, sincroniza tu proyecto de Capacitor:
[[BLOQUE_DE_CÓDIGO]]
4 Para la plataforma Web, instala localforage:
[[BLOQUE_DE_CÓDIGO]]
5 Para la plataforma Electron, sigue estos pasos adicionales:
[[BLOQUE_DE_CÓDIGO]]
Ahora que hemos instalado el paquete, veamos cómo usarlo en tu aplicación.
Primero, importa el plugin en tu archivo TypeScript:
[[BLOQUE_DE_CÓDIGO]]
Para comenzar a usar el almacenamiento, necesitas abrir un almacén:
[[BLOQUE_DE_CÓDIGO]]
Para establecer un valor en el almacén:
[[BLOQUE_DE_CÓDIGO]]
Para recuperar un valor del almacén:
[[BLOQUE_DE_CÓDIGO]]
Para comprobar si una clave existe en el almacén:
[[BLOQUE_DE_CÓDIGO]]
Para eliminar una clave del almacén:
[[BLOQUE_DE_CÓDIGO]]
Para limpiar todos los datos del almacén:
[[BLOQUE_DE_CÓDIGO]]
Cuando hayas terminado de usar el almacén, es una buena práctica cerrarlo:
[[BLOQUE_DE_CÓDIGO]]
Aquí hay un ejemplo completo de cómo usar el plugin:
[[BLOQUE_DE_CÓDIGO]]
Ahora has aprendido cómo usar el paquete @capgo/capacitor-data-storage-sqlite
para implementar un sistema de almacenamiento de clave-valor en tu aplicación Ionic Capacitor. Este plugin proporciona una forma sencilla de almacenar y recuperar datos de cadena a través de diferentes plataformas, incluyendo iOS, Android, Electron y Web.
Recuerda manejar los errores adecuadamente y cerrar el almacén cuando hayas terminado de usarlo. Para un uso más avanzado, incluyendo el trabajo con bases de datos encriptadas, múltiples tablas y la importación/exportación de JSON, consulta la documentación completa de la API del plugin.
Para obtener más información detallada sobre la API y las opciones disponibles, consulta el README o la documentación del paquete.