Realm在Android中的使用(一)

        从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在Android中的使用(一)_第1张图片
初始化Realm使用默认配置

添加实体类

Realm 数据模型定义需要继承自RealmObject类,如下图。

Realm在Android中的使用(一)_第2张图片
Realm实体 省略了get和set方法

Realm的基本操作

在操作前需要实例化一个Realm对象,通过 realm= Realm.getDefaultInstance();可以拿到一个默认的实例。

Realm所有的操作都是一个完整的事务。通过realm.beginTransaction();realm.commitTransaction();操作。或者通过异步事务realm.executeTransactionAsync();

1插入

插入可以通过realm.insert()方法插入一天或多条数据。

Realm在Android中的使用(一)_第3张图片
异步插入或更新

2修改

修改通过查出的结果修改后 Realm自动会写入库中

Realm在Android中的使用(一)_第4张图片
修改一条数据

3查

Realm可以同步查和异步查


Realm在Android中的使用(一)_第5张图片

Realm 提供很多查询的条件

between()、greaterThan()、lessThan()、greaterThanOrEqualTo()和lessThanOrEqualTo()

equalTo()和notEqualTo()

contains()、beginsWith()和endsWith()

isNull()和isNotNull()

isEmpty()和isNotEmpty()

4删除

Realm 删除有两种方式。

一 通过realm.deleteAll(); 删除数据库。

二 通过查询的结果集可以删除一天或多条

Realm在Android中的使用(一)_第6张图片
删除所以的数据

你可能感兴趣的:(Realm在Android中的使用(一))