Android 数据库 Realm 使用教程讲解指南(二)

上一篇的后续 Android 数据库 Realm 使用教程讲解指南(一)

 

本文主要是两个点。

1.在项目中遇到的问题,使用到了Realm数据库的多配置功能(一个项目创建两个数据库)

2.介绍一个查看Realm数据库表的工具 Realm Studio(这个工具反正我是爱了)

Realm Studio(下载)

 

 

 Realm的多配置功能

              先说第一个点,事情是这样的哈。在APP1.0的时候,项目中使用Realm的数据库名字是realm.realm,在2.0之后改为myrealm.realm,说实话我没太懂人家的意思。结果就是在2.0的项目中需要去兼容1.0数据库并且维护两个数据库(没必要),我是直接把1.0的数据库表的数据copy到2.0的数据库表。并删除1.0的数据。

1.创建不同的modules,进行不同数据库区分

 

PS:当时在做这一块的时候,也是被这module概念给迷惑了。事后感觉这个设计简单方便。每RealmMoudle对应的就是是每个数据库的表。

 

/**
 * @Author yinzh
 * @Date 2019/10/15 21:08
 * @Description 食物  1.0数据库名字
 */
@RealmModule(classes = {DumplingsBean.class, NoodleBean.class} )
public class FoodModules {

}

public class DumplingsBean extends RealmObject {

    @PrimaryKey
    public int id;
    public String Stuffing;
    public String drinks;
}



public class NoodleBean extends RealmObject {

    @PrimaryKey
    public int id;
    public String soup;
    public String meat;
    public String egg;

}

---------------------------------------------------------------------


/**
 * @Author yinzh
 * @Date 2019/10/15 21:08
 * @Description 动物 2.0数据库名字
 */
@RealmModule(classes = {DogBean.class, CatBean.class})
public class AnimalModules {
}


public class CatBean extends RealmObject {
    public String name;
    public String age;
    public String like;
    public String eat;
}


public class DogBean extends RealmObject {
    public String name;
    public String age;
    public String like;
    public String eat;
}

2.Realm配置


     // food.realm
     RealmConfiguration foodConfig = new RealmConfiguration.Builder()
                .name("food.realm")
                .schemaVersion(2)
                .modules(new FoodModules()) //标志food.realm 数据库所包含的
                .migration(new MyMigration())
                .build();

        foodRealm = Realm.getInstance(foodConfig);

打印结果

2019-10-15 21:51:27.803 24847-24847/? I/Realm: 饺子馅 :角瓜鸡蛋----必备饮料:百岁山
2019-10-15 21:51:27.803 24847-24847/? I/Realm: 汤:肉味----肉:牛肉----小吃:卤蛋
  RealmConfiguration animalConfig = new RealmConfiguration.Builder()
                .name("animal.realm")
                .schemaVersion(2)
                .modules(new AnimalModules()) //标志animal.realm 数据库所包含的
                .migration(new MyMigration())
                .build();

        animalRealm = Realm.getInstance(animalConfig);

打印结果

2019-10-15 21:57:57.713 25352-25352/? I/Realm: 名字 :Tom ----- 年龄:6 ----- 吃 :肉
2019-10-15 21:57:57.713 25352-25352/? I/Realm: 名字:九九 ---- 年龄:6 ---- 吃:鱼

 

 

关于如果使用工具Realm Studio

Android 数据库 Realm 使用教程指南(三)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值