One of the pain points in hybrid app development is data persistence & data storage. Though LocalStorage can be used for storing less critical data like cache, devs usually look at SQLite for consistent data storage backend. SQLite works fine for both the platforms (Android & iOS).
In this post we discuss how to efficiently work with SQLite using a simple factory that can be used for doing simple operations on your SQLite Database.
SQLite can be accessed natively only, so you need to install the cordova plugin for SQLite.
Download ngCordova dependancies
Include ng-cordova.min.js in your index.html file before cordova.js and after your AngularJS / Ionic file (since ngCordova depends on AngularJS).
Inject as an Angular dependency
Install SQLite Cordova Plugin
Declare a global variable
So that 'db' is accessible through our the scope the app.
In your app.js :-
'myapp.db' is the name of your DB. The github page for cordova-sqlite-storage plugin have examples on how to do different operations on the database, below is a simple factory that can make these operations clean and readable:
Disclaimer -- This factory code is for demonstration only, please sanitise and secure your user inputs. Additionally, you can make "your_table" dynamic depending on your use-case.
You may use this factory and do the CRUD operations
Add name in db :-
Get name :-
Update name :-
Delete name :-
Hope you find it useful, Let us know in Comments if you extend this factory or have a better one!