从realm的beat版就开始关注了,虽然在实际项目中没有正式使用。现在Realm已经发布到3.0了。是时候开始使用了。Realm不是基于SQLite的ORM框架,它有自己的数据引擎存储方式,是专门为移动端开发的跨平台的数据库。Realm号称移动端最快的数据库。那么到底有多快哪?本人亲自测试了一下插入1w条数据(5个字段)耗时830毫秒,够快吧?接下来就开始使用Realm吧!
1环境配置
官方文档3.0
使用Gradle配置Realm依赖
dependencies {
classpath"io.realm:realm-gradle-plugin:3.0.0"
}
applyplugin:'realm-android'
初始化Realm
在Application的 onCreate里初始化
添加实体类
Realm 数据模型定义需要继承自RealmObject类,如下图。
Realm的基本操作
在操作前需要实例化一个Realm对象,通过 realm= Realm.getDefaultInstance();可以拿到一个默认的实例。
Realm所有的操作都是一个完整的事务。通过realm.beginTransaction();realm.commitTransaction();操作。或者通过异步事务realm.executeTransactionAsync();
1插入
插入可以通过realm.insert()方法插入一天或多条数据。
2修改
修改通过查出的结果修改后 Realm自动会写入库中
3查
Realm可以同步查和异步查
Realm 提供很多查询的条件
between()、greaterThan()、lessThan()、greaterThanOrEqualTo()和lessThanOrEqualTo()
equalTo()和notEqualTo()
contains()、beginsWith()和endsWith()
isNull()和isNotNull()
isEmpty()和isNotEmpty()
4删除
Realm 删除有两种方式。
一 通过realm.deleteAll(); 删除数据库。
二 通过查询的结果集可以删除一天或多条