[Google直译]ObjectBox功能和接入说明

ObjectBox移动数据库
ObjectBox是一款超快速的对象导向型移动数据库,支持强大的对象关系管理。适用于Android和Java平台,提供简洁易用的API,减少代码量,提升开发效率。具备反应性数据观察器和多版本并发控制等功能。

移动数据库所需的一切:

  • 超快速:我们构建ObjectBox的动力是提供最好的性能。ObjectBox胜过我们测试过的所有嵌入式数据库(这是很多)。细节将随之而来。
  • 对象API:没有更多的行,列和SQL - ObjectBox是一个移动数据库,为从零开始构建的对象(无ORM,无SQLite)。简洁的API很容易学习,只需要你使用SQLite的一小部分代码。
  • QueryBuilder:使用ObjectBox,您只需在编译时查询具有检查的对象。因此,您在运行时不会有更多的输入错误。
  • 对象关系:对象引用/关系是内置类型; 他们是本机的参考。
    反应性:对数据变化的反应简单而强大。使用ObjectBox中的反应数据观察器或与RxJava集成。
  • 多平台: ObjectBox已经支持Android和普通Java(Linux和Windows)。MacOS和iOS是路线图上的下一个平台。
  • 即时单元测试: 利用我们的多平台方法,您可以在毫秒级的情况下在桌面上运行普通单元测试(无Robolectric,无仪器测试)。
  • 强大的技术: ACID属性和多版本并发控制(MVCC)为您提供安全的事务和并行性。ACID代表:原子,Consitent,孤立,耐用。
  • 简单的线程: ObjectBox返回的对象在所有线程中工作,没有附加任何字符串。
    没有手动模式迁移: ObjectBox负责添加,删除和重命名属性的新对象版本。
  • DaoCompat库:已经在使用greenDAO了?这个小帮助程序库为ObjectBox提供了熟悉的 greenDAO API。
  • 测试: 自从ObjectBox处于测试阶段以来,我们已经在运行超过150.000个月活跃用户和数千个设备的应用程序中运行它。当然,我们有很多单元测试(> 1000个人测试)。

关于 ObjectBox 的定义

ObjectBox is a superfast object-oriented database with strong relation support. objectbox.io
What's more , it supports Java & Kotlin too.

ObjectBox 最新版本 [ 截止2017/11/08 ]

Latest version: 1.2.0 (2017/10/31)

Demo code using ObjectBox:

Playlist playlist = new Playlist("My Favorties");
playlist.songs.add(new Song("Lalala"));
playlist.songs.add(new Song("Lololo"));
box.put(playlist);
Gradle setup复制代码

Add this to your root build.gradle (project level):

buildscript {
    ext.objectboxVersion = '1.2.0'
    repositories {
        maven { url "http://objectbox.net/beta-repo/" }
    }
    dependencies {
        classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"
    }

}

allprojects {
    repositories {
        maven { url "http://objectbox.net/beta-repo/" }
    }
}复制代码

And this to our app's build.gradle (module level):

apply plugin: 'io.objectbox' // after applying Android plugin复制代码

First steps

Prepare the BoxStore object once for your app, e.g. in onCreate in your Application class:

boxStore = MyObjectBox.builder().androidContext(this).build();
Create data object class @Entity, for example "Playlist". Then get a Box class for this entity class:

Box<Playlist> box = boxStore.boxFor(Playlist.class);复制代码

The Box object gives you access to all major functions, like put, get, remove, and query.

For details please check the docs.

objectbox.io/documentati…

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值