ObjectBox学习笔记

本文介绍了ObjectBox数据库,一个由greenrobot团队开发的非关系型数据库,以其超快速度和面向对象的API为特点。内容包括ObjectBox的环境配置、如何创建实体类、初始化、数据操作(增删查改)、表关系、数据库升级和事务处理,提供了详细的配置和使用示例。
摘要由CSDN通过智能技术生成

ObjectBox简介

ObjectBox数据库是greenrobot团队开发的全新非关系型数据库框架,具有如下特点:

1、超快速:号称胜过测试过的所有嵌入式数据库;

2、面向对象的API:没有rows、columns和SQL,完全从0开始的对象;

3、反应性:对数据变化的反应简单而强大,使用ObjectBox中数据观察器或与RxJava集成;

4、多平台支持:已经支持安卓和java、ios和MacOs正在集成;

5、简单的线程:ObjectBox返回的对象可以在所有线程中运行;

6、不需要手动模式迁移:ObjectBox负责添加,删除和重命名属性的新对象版本,意味着数据库的升级不再需要我们自己管理版本号,ObjectBox内部会自动帮我们管理;

7、ObjectBox小于1MB,因此它是移动应用程序、小型IoT设备和IoT网关的理想解决方案。

ObjectBox环境配置

1、project根目录下build.gradle (project 级别)添加如下配置:

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

2、浏览ObjectBox数据

2.1如果需要通过浏览器(PC端或移动端)查看ObjectBox存储的数据,需执行下面操作:

a、在module根目录下build.gradle (module 级别)添加如下配置:

dependencies {
    ...

    // 使用浏览器查看数据的依赖,官方建议仅在 debug 版本依赖,所以做以下区分
    debugImplementation "io.objectbox:objectbox-android-objectbrowser:$objectboxVersion"
    releaseImplementation "io.objectbox:objectbox-android:$objectboxVersion"
}

// 注意下面的内容必须放到 dependencies 语句块的后面(文件末尾),否则编译报错
apply plugin: 'io.objectbox'

b、在Application的onCreate()中添加如下代码:

if (BuildConfig.DEBUG) {// 官方建议仅在debug下开启数据浏览
    new AndroidObjectBrowser(boxStore).start(app);// 注:boxStore的获取需要先创建实体类
}

c、在AndroidManifest.xml中添加相应权限:

<!-- Required to provide the web interface -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Required to run keep-alive service when targeting API 28 or higher -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

d、手机需要连接adb,浏览器访问http://localhost:8090/index.html (该地址由ObjectBrowser 日志得到)。如果访问不到,那么程序安装后,打开命令行输入以下命令adb forward tcp:8090 tcp:8090后再次尝试。

I/ObjectBrowser: ObjectBrowser started: http://127.0.0.1:8090/index.html
I/ObjectBrowser: Command to forward ObjectBrowser to connected host: adb forward tcp:8090 tcp:8090

2.2如果不需要通过浏览器查看ObjectB

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值