Skip to content

sreejithkrishnanr/react-native-sqlcipher-2

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code
This branch is 18 commits ahead, 146 commits behind craftzdog:master.

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
ios
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

React Native SQLCipher 2

SQLCipher Native Plugin for React Native for Android/iOS. This plugin provides a WebSQL-compatible API to store data in a react native app, by using a SQLCipher database on the native side.

Forked from React native SQlite 2

Getting started

$ npm install react-native-sqlcipher-2 --save

Mostly automatic installation

$ react-native link react-native-sqlcipher-2

Additional step for iOS

Add the following to your Podfile

pod 'SQLCipher'

Usage

import SQLite, { encodeName } from 'react-native-sqlcipher-2';

const db = SQLite.openDatabase(encodeName('test.db', 'testpassword'), '1.0', '', 1);
db.transaction(function (txn) {
  txn.executeSql('DROP TABLE IF EXISTS Users', []);
  txn.executeSql('CREATE TABLE IF NOT EXISTS Users(user_id INTEGER PRIMARY KEY NOT NULL, name VARCHAR(30))', []);
  txn.executeSql('INSERT INTO Users (name) VALUES (:name)', ['nora']);
  txn.executeSql('INSERT INTO Users (name) VALUES (:name)', ['takuya']);
  txn.executeSql('SELECT * FROM `users`', [], function (tx, res) {
    for (let i = 0; i < res.rows.length; ++i) {
      console.log('item:', res.rows.item(i));
    }
  });
});

There is a test app in the test directory.

Using with PouchDB

It can be used with pouchdb-adapter-react-native-sqlite.

import PouchDB from 'pouchdb-react-native'
import SQLite, { encodeName } from 'react-native-sqlcipher-2'
import SQLiteAdapterFactory from 'pouchdb-adapter-react-native-sqlite'

const SQLiteAdapter = SQLiteAdapterFactory(SQLite)
PouchDB.plugin(SQLiteAdapter)
var db = new PouchDB(encodeName('test', 'testpassword'), { adapter: 'react-native-sqlite' })

About

SQLCipher Native Plugin for React Native for iOS and Android.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 88.6%
  • C# 3.6%
  • Java 2.6%
  • Objective-C 2.5%
  • JavaScript 2.2%
  • Python 0.3%
  • Ruby 0.2%