由于之前是做android 原生开发的,最近在学习混合开发,项目中也是用的react native 开发技术,在存储数据时简单点的比如说,用户的登录信息等,都可以存储在 AsyncStorage 中,这个的存储方式为key-value的形式,类似于android 中的SharedPreferences。 后面在存储银行卡信息时,用这个就不是很方便了,就想到了用数据库来存储。
最后就使用了react native 支持的 Realm 来进行数据存储。
关于Realm,网上有好多相关的文章,但都是大同小异,按照他们的方法,数据查询和数据删除在我这都不好使,最后自己慢慢摸索,总算搞出来了,这里就简单记一下
Realm 的安装
npm install --save realm 或者 yarn add realm
react-native link realm
如果android没有link 上,自己手动添加也是可以的,这样:
在 setting.gradle文件中添加
include ':realm'
project(':realm').projectDir = new File(rootProject.projectDir, '../node_modules/realm/android')
在app下的build.gradle中添加:
compile project(':realm')
然后看MainApplication文件getPackages()方法里是否有
new RealmReactPackage(),
如果没有,自己添加
Realm的 使用
数据库的使用无非就是 增删改查而已,我们就从增删改查说起
realm 数据库添加数据
const BankInfoSchema={
name:'BankInfoData',
primaryKey:'id',
properties:{
id:'string', //卡号
cardName:'string', // 银行名称
cardNumLast: