objectbox基礎


objectbox基礎

參考鏈接

1. objectbox特性

  • 超快 objectbox優於測試過的所有嵌入式數據庫
  • 面向對象的api 沒有ORM,沒有SQLite,簡潔的api
  • 自動升級 可以直接在對象上進行刪除修改等操作
    其它參考官網介紹

2.如何使用?

1.在項目build.gradle添加對應引用

buildscript {
    ext.objectboxVersion = '1.4.0'
    repositories {
        jcenter()
        maven { url "http://objectbox.net/beta-repo/" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"
    }
}
allprojects {
    repositories {
        jcenter()
        maven { url "http://objectbox.net/beta-repo/" }
    }
}

2.在app的 build.gradle文件添加引用

apply plugin: 'com.android.application'
apply plugin: 'io.objectbox'
dependencies {
    compile "io.objectbox:objectbox-android:$objectboxVersion"
    annotationProcessor "io.objectbox:objectbox-processor:$objectboxVersion"
}

3.定義要保存在數據庫中的對象

@Entity
public class Note {
    @Id
    long id;
    String text;
}

添加完成對象后,編譯項目,會自動生成MyObjectBox對象

4.在Application中初始化MyObjectBox對象

private BoxStore boxStore;
  @Override
  public void onCreate() {
    super.onCreate();
    boxStore = MyObjectBox.builder().androidContext(App.this).build();
    Log.d("App", "Using ObjectBox " + BoxStore.getVersion() + " (" +                BoxStore.getVersionNative() + ")");
  }
  public BoxStore getBoxStore() {
    return boxStore;
  }

5.進行數據庫的各種操作

private Box<Note> notesBox;
notesBox = ((App) getApplication()).getBoxStore().boxFor(Note.class);

Box提供了對數據進行增刪改查的api
put:插入數據
get:查詢數據
remove:刪除數據
count:返回存貯得對象個數
query: 根據對應得條件查詢
修改數據,先根據query查詢到對應的對象,修改對應的屬性值后,調用put方法插入到數據庫

3.objectbox注解

注解 介紹
@Entity 表示一個對象
@Id 表示一個標示符,默認自動維護
@Transient 表示一個臨時屬性,不會存儲在數據庫
@Index 表示一個索引
@NameInDb 表示存儲在數據庫中的列名稱


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM