数据库框架Realm详解(一)

2019-02-22  本文已影响0人  东邪Zzz

Realm是一款数据库框架,在Android和iOS上都适用,github地址Realm
官方文档

开始使用

使用前我们应该注意的事情:


Prerequisites.jpg

1.配置Realm

Realm是以插件的形式添加进来的
Step 1: Add the class path dependency to the project level build.gradle file.
第一步,在项目级别下的build.gradle文件下配置如下:

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

Step 2: Apply the realm-android plugin to the top of the application level build.gradle file.
第二步,在Model级别下的build.gradle文件下配置如下:

apply plugin: 'realm-android'

完成这两步后,Realm就被添加进来了。如果你要是更新版本,你还需要clean your gradle project.

2.注册Realm

我们在使用之前应该先注册,注册方法如下:

Realm.init(context);

建议自定义一个Application ,在Application中完成注册:

public class MyAplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Realm.init(this);
    }
}

完成了在Application中注册,不要忘记在AndroidManifest.xml注册你的Application:

<application
  android:name=".MyApplication"
  ...
/>

3.简单使用

3.1 初始化
// Get a Realm instance for this thread
Realm realm = Realm.getDefaultInstance();

使用Realm的默认配置
Realm可以自定义配置,使用RealmConfiguration,这个之后会再详细说到

3.2 创建实体类

完成注册和初始化之后,我们需要创建我们的实体类。

public class User extends RealmObject {
    private String name;
    private int age;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "User{" +
                "age='" + age + '\'' +
                ", name='" + name +
                '}';
    }
}

Realm支持public、protected、private

3.3 具体使用

Realm的操作都需要在事务中操作,比如我们插入一条数据

        realm.beginTransaction();
        User user = mrealm.createObject(User.class);
        user.setAge(18);
        user.setName("Realm");
        mrealm.commitTransaction();

查找我们插入的数据

   public void findUser(View view) {
        final RealmResults<User> userRealmResults = mrealm.where(User.class).findAll();
        showUser(userRealmResults);
    }
    private void showUser(RealmResults<User> userRealmResults) {
        Toast.makeText(this, "size : " + userRealmResults.size(), Toast.LENGTH_SHORT).show();
        for (User u : userRealmResults) {
            Log.d(TAG, u.toString());
        }
    }

查找结果

02-22 10:26:30.214 20239-20239/zzl.com.realmdemo D/MainActivity: User{age='18', name='Realm}

这里我做了查找全部数据,只是为了演示Realm的一些基本用法。

这篇就先到这里了,没有什么难点,全是最基本的东西,之后慢慢加深。码字真的好费劲,做安卓这么长时间了,不怎么写东西,因为码字比较烦。从这篇算个开始吧,之后会慢慢更新,把自己的学习成果记录下来。不为给别人当做多牛逼的东西,只是为了记录自己。如果对你有所帮助,劳烦赞一下;如果耽误你的时间,不好意思,谁让你点开了呢,哈哈哈哈。


007E254D.jpg
上一篇下一篇

猜你喜欢

热点阅读