Realm数据库使用总结

Realm:https://realm.io/docs/java/latest/

旧版中文介绍页:https://realm.io/cn/docs/java/latest/

官方文档在此: realm java doc,Realm数据库轻量便捷,减少了写sql语句,跨平台性、适用性强, 目前有Java, Objective‑C, React Native, Swift, Xamarin的几种实现, 是一套用来取代SQLite数据库的新王者!在此只说基本使用总结。。。


1、添加依赖(安装Installation)
    1)外层gradle-项目级
        classpath "io.realm:realm-gradle-plugin:4.0.0.pre.rc1"// 并且更改版本号为最新版
    2)APP层gradle-模块级
        apply plugin: 'realm-android'
    3)做兼容性调试(与AndroidTest版本冲突)
        a)吧依赖中的AndroidTestCompile注释掉
        b)app/src/androdtest文件夹删掉
2、初始化(Initializing)
    1)位置:Application的onCreate方法中初始化
        a) 新建Application类,继承于Application
        b) 清单文件中注册
        c) 重写onCreate方法
    2)Realm.init(this);
    3)RealmConfiguration
        a) new出内部类Builder
        b) 配置数据库的文件名、版本号
        c) 配置完成后,调用build方法获得config对象
        d) 设置Realm的默认对象的配置Realm.setDefaultConfiguration(config);
    // 代码:
    Realm.init(this);
    RealmConfiguration config = new RealmConfiguration.Builder()
        .name("market.realm")
        .schemaVersion(1)
        .build();
    Realm.setDefaultConfiguration(config);
3、配置表格(Models模型)(配置JavaBean)
    1)创建一个JavaBean,继承RealmObject
    2)@Primarykey主键:@Index目录 @Ignore忽略
4、使用(增删改查)
    1)查
        a) 获取Realm的对象realm
            Realm realm = Realm.getDefaultInstance();
        b) 查找
            where(javaBean.class).eq greaterThan lessThan .findAll()/findFirst();
        注意:
            查找的结果是与realm关联的,如果realm关闭了,则结果不再可用;如果使用会报错。
            取消关联:copyFromRealm(~~)从realm中复制一份无关的JavaBean对象
        c) realm.close;
    2)增删改(多了一个事务,通过try-catch判断修改是否成功)
        a) 获取Realm的对象realm
            Realm realm = Realm.getDefaultInstance();
        b) 开启事务
            realm.beginTransaction();
        c) 增删改
            insert()、delete()、update();
            (添加关联:copyToRealm(~~))
        d) 提交事务,并关闭
            realm.commitTransaction();
            realm.close;
    3) 监听数据库的改变
        users.addChangeListener(new RealmChangeListener<RealmResults<UserBean>>() { onChange(){} });
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值