Realm:https://realm.io/docs/java/latest/
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(){} });
旧版中文介绍页: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(){} });