本文主要是介绍关于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: BoxStoreprivate setfun 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 然后在访问上面的网址
这篇关于关于ObjectBox Kotlin集成的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!