Realm数据库学习之快速入门

来源:互联网 发布:怎样开通淘宝客 编辑:程序博客网 时间:2024/05/16 12:20

build.gradle配置

顶层build.gradle

buildscript {    repositories {        jcenter()    }    dependencies {        classpath "io.realm:realm-gradle-plugin:1.2.0"    }}

app模块中的build.gradle

apply plugin: 'realm-android'

任何数据库都无非是CRUD的操作,也就是为了增、删、改、查的使命。
相对于传统的原生的Sqlite开发,Realm的API使开发者显得轻松自在。

初始化

使用Realm需要配置RealmConfiguration.代码很简单如下:

Real mRealm = Realm.getInstance(new RealmConfiguration.Builder(this)                .name("test")                .build());

1增加数据

1.1创建模型

创建模型只需要定义一个类继承自RealmObject

public class Apple extends RealmObject {    private int id;    private String color;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getColor() {        return color;    }    public void setColor(String color) {        this.color = color;    }    @Override    public String toString() {        return "Apple{" +                "id=" + id +                ", color='" + color + '\'' +                '}';    }}

1.2保存数据

保存一个java类数据到Realm,只需调用它的createObject方法。
Realm保存数据的示例代码如下:

mRealm.executeTransaction(new Realm.Transaction() {            @Override            public void execute(Realm realm) {                Apple mApple = mRealm.createObject(Apple.class);                mApple.setId(1);                mApple.setColor("red");            }        });

executeTransaction()打开一个事务,这是为了保证往Realm增加数据时,数据的一致性。
当调用createObject()的时候,数据对象就已经保存在Realm中了,是不是特别简单?

2查询数据

查询的结果保存在RealmResults对象中
示例代码:

final RealmResults<Apple> realmResults = mRealm.where(Apple.class).findAll();for(Apple apple:realmResults){    Log.d(TAG, "query "+apple.toString());}

3删除数据

Realm支持从查询的结果当中删除某一项或者全部项

final RealmResults<Apple> realmResults = mRealm.where(Apple.class).findAll();mRealm.executeTransaction(new Realm.Transaction() {            @Override            public void execute(Realm realm) {                // remove single match                realmResults.deleteFirstFromRealm();                realmResults.deleteLastFromRealm();                // remove a single object                Apple dog = realmResults.get(5);                dog.deleteFromRealm();                // Delete all matches                realmResults.deleteAllFromRealm();            }        });

4更新数据

Realm更新数据十分及时,只要在查询的结果集中找出相应的数据项然后进行相关的更新,数据就更新到了Realm.

mRealm.executeTransaction(new Realm.Transaction() {            @Override            public void execute(Realm realm) {                Apple apple = realm.where(Apple.class).findFirst();                //已经更新                apple.setColor("yellow");            }        });

了解了增、删、改、查的功能后,我们就能用Realm进行简单的数据库开发。

后面的文章我非讲解它更高级的特性和用法。

0 0
原创粉丝点击