关于ObjectBox Kotlin集成

1.在应用的build.gradle添加

classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"

 2.在app的build.gradle中添加

apply plugin: "kotlin-kapt"

dependencies{
    debugImplementation "io.objectbox:objectbox-android-objectbrowser:$objectboxVersion"
    releaseImplementation "io.objectbox:objectbox-android:$objectboxVersion"    
}
apply plugin: "kotlin-kapt"
dependencies{    
    kapt "io.objectbox:objectbox-processor:$objectboxVersion"
    api  "io.objectbox:objectbox-kotlin:$objectboxVersion"
}

3.在app的目录下(和src同级)下

建立文件夹objectbox-models,然后添加文件default.json(内容不用写 之后build的时候会自动生成)

4.建立你的实体类,并用@Entity注解

一定要用@Id注解一个额外的字段(你的实体字段之外的字段),并设置为var Long默认为0

5.在Application中初始化

object BoxManager {
    lateinit var boxStore: BoxStore
        private set
    fun init(context: Context) {
        boxStore = MyObjectBox.builder().androidContext(context.applicationContext).build()

        if (BuildConfig.DEBUG) {
            LogUtils.i("Using ObjectBox ${BoxStore.getVersion()} (${BoxStore.getVersionNative()})")
            AndroidObjectBrowser(boxStore).start(context)
        }
    }
}
//在Application中调用BoxManager.init(this)进行初始化

然后 Rebuild project

这里MyObjectBox最开始会找不到,rebuild之后如果你的配置正确就会自动生成(上面的default.json也会自动生成),如果没自动生成,那么就是你的某个地方配置错了

 

Q1:DB's last entity ID 3 is higher than 1 from model

卸载app重新装,因为实体的id默认是自增的,这个报错就是说你之前最新的是3,你现在用的是1,不能降级哟

Q2:浏览器查看数据库

http://localhost:8090/index.html

电脑如果访问不了  在cmd里面输入adb forward tcp:8090 tcp:8090 然后在访问上面的网址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值