Android数据库ObjectBox使用说明

2020-11-24  本文已影响0人  几圈年轮

前言

集成GreenDao查询官网可以看到一则通告:对于新应用程序,我们建议使用ObjectBox,这是一个新的面向对象的数据库,它比SQLite快得多并且易于使用。对于基于greenDAO的现有应用程序,我们提供了DaoCompat,可轻松切换(另请参见公告)。

于是,本篇便对比GreenDao写一个ObjectBox的简单使用说明,对比GreenDao集成起来更加容易,使用也比较简单。

介绍

ObjectBox数据库是用于对象的超快速轻量级数据库,由greenrobot团队开发,与GreenDao,EventBus等师出同门。

从 greenDAO 迁移到 ObjectBox 提供了各种优势:

Github地址:https://github.com/objectbox/objectbox-java

项目配置

1、项目根 build.gradle (项目级别) 配置:

buildscript {
    ext.objectboxVersion = '2.8.1'
    dependencies {
        classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"
    }
}

2、应用程序 build.gradle (模块级) 配置:

apply plugin: 'io.objectbox' // 应用Android插件后

使用说明

1、新建实体类,如下:

@Entity
public class User {
    @Id
    public Long id;

    public String userId;

    public String userName;

    public int age;
}

它必须具有非私有的可见性(或非私有的 getter 和 setter 方法)。

2、点击AndroidStudio中的Make Project(小锤子的图标),objectbox为项目生成类 MyObjectBox类,用于初始化生成 BoxStore 对象,进行数据库管理。然后,通过BoxStore对象为实体类获得一个 Box 类,Box 对象提供对所有主要函数的访问,比如 put、 get、 remove 和 query。

核心API:

3、数据库操作:

(1)新建ObjectBox操作类,用于初始化及数据库管理:

public class ObjectBox {
    private static BoxStore mBoxStore;

    public static void init(Context context) {
        mBoxStore = MyObjectBox.builder()
                .androidContext(context.getApplicationContext())
                .build();
    }

    public static BoxStore get() { return mBoxStore; }
}

(2)调用ObjectBox类进行初始化,并为User实体类获得一个 Box 类,进行具体操作:

private void initUserBox() {
    ObjectBox.init(this);

    mBoxStore = ObjectBox.get();

    mUserBox = mBoxStore.boxFor(User.class);
}

(3)数据库增删改查:

数据库操作.jpg

以上就是ObjectBox数据库操作的基本使用说明了,在之前写的GreenDao上面修改了使用方法,对比GreenDao还是十分简单的,更多用法可以查看API文档解锁使用:https://docs.objectbox.io/

访问Github项目查看具体代码实现:

https://github.com/MickJson/DevelopmentRecord

欢迎点击查阅及Star,我也会继续补充其它有用的知识及例子在项目上。

欢迎点赞/评论,你们的赞同和鼓励是我写作的最大动力!

上一篇 下一篇

猜你喜欢

热点阅读