ObjectBox[二] 教程:如何开始使用ObjectBox

  • Post author:
  • Post category:其他

ObjectBox[一] 特性

ObjectBox[二] 教程:如何开始使用ObjectBox

ObjectBox[三] 教程:安装和基础

ObjectBox[四] 数据库持久化之实体注解

ObjectBox[五] 基本操作:查询

ObjectBox[六] 数据监听和RX(Data Observers and Reactive Extensions)

ObjectBox[七] 支持LiveData(Android体系结构组件)

ObjectBox[八] 关系

ObjectBox[九] 数据模型变更

ObjectBox[十] 自定义类型

ObjectBox[十一] 事务

ObjectBox[十二] Meta Model, IDs, and UIDs

ObjectBox[十三] 数据调试


什么是ObjectBox?这是一个移动数据库,使对象持久性变得简单和快速。

本教程在Github上提供的一个简单的ObjectBox示例项目。如果您已经了解了基本知识,则可以直接跳转到 简介。

现在可以去下载Github上的示例项目,在objectbox-example 文件夹你能找到一个管理笔记的android app,下面直接介绍代码。

The Note entity(实体) and Box class


@Entity
public class Note {

    @Id
    long id;

    String text;
    Date date;
    ...
}

@Entity 注解表明 Note 是一个写入数据库的实体
@id 表明 long id 作为Key
一般来说,一个ObjectBox实体是一个带有属性的有注解标记的类。你可以按照这种方法创建新的实体到数据库中。

接下来编译工程,ObjectBox会生成一些类,如 MyObjectBox 。还有一些ObjectBox在内部使用的其他一些类。

插入和删除笔记

要查看新笔记如何添加到数据库中,请查看NoteActivity类。首先,我们必须为我们的Note类准备一个Box对象,我们 在onCreate()中做 :

notesBox = ((App) getApplication()).getBoxStore().boxFor(Note.class);

注意: 在Demo中,“App”是继承Application的类 ,推荐BoxStore在这里获取 。

当用户点击添加按钮时,方法 addNote()被调用。addNote创建一个新的 Note对象,并使用Box将其放入数据库:

Note note = new Note(0, noteText, comment, new Date());
notesBox.put(note);
Log.d(App.TAG, "Inserted new note, ID: " + note.getId());

请注意,Note传递了0作为id。表示一个新的实体,ObjectBox会在内部分配一个新的id 。

删除一个笔记也很简单。请参考 NoteClickListener

notesBox.remove(note);

更新笔记和更多

更新一个笔记非常简单。只要修改它的任何属性, 然后用改变的对象再次调用 put ():

note.setText("This note has changed.");
notesBox.put(note);

notesBox还有一些更多的方法来增删改查。

建立数据库

现在您已经看到了ObjectBox 正常运行,但是我们如何获取 BoxStore实例?通常,您应该为Application类中的整个应用程序设置一次BoxStore:

boxStore = MyObjectBox.builder().androidContext(App.this).build();

然后对外提供getterStore ()之类的getter, 让activity和fragment或者其他你想调用的地方来使用。

(MyObjectBox 类是自动生成,如果没有生成,请Rebuild)

请记住:ObjectBox本身是一个NoSQL数据库,因此不基于SQL或SQLite。这就是为什么在初始化期间不需要设置“CREATE TABLE”语句的原因。

下一步

阅读关于如何将ObjectBox添加到项目以及它如何在简介中工作的信息。
了解有关ObjectBox实体注释的更多信息 。
有关 高级功能(如关系和查询),请参阅完整的ObjectBox文档。

原文:http://objectbox.io/documentation/how-to-get-started/