Я пытаюсь использовать библиотеку объектов.
Я прочитал официальную документацию и следую инструкциям. Но все-таки это не работает.
Проблема в том, что когда я пытаюсь инициализировать объект boxStore, я не нахожу класс MyObjectBox.
val boxStore = MyObjectBox.builder().androidContext(this).build()
Вот мой модуль приложения. build.gradle (модуль приложения)
apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'io.objectbox' android { compileSdkVersion 26 defaultConfig { .... } buildTypes { release { .... } } sourceSets { main.java.srcDirs += 'src/main/java' } } kapt { generateStubs = true arguments { arg("objectbox.debug", true) } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" ... other dependencies //object box implementation "io.objectbox:objectbox-android:$objectboxVersion" // some useful Kotlin extension functions implementation "io.objectbox:objectbox-kotlin:$objectboxVersion" kapt "io.objectbox:objectbox-processor:$objectboxVersion" }
И вот мой модуль проекта: build.gradle (project)
buildscript { ext.kotlin_version = '1.2.10' //all version ext.support_version = '26.1.0' ext.objectboxVersion = '1.3.3' repositories { google() jcenter() maven { url "http://objectbox.net/beta-repo/" } } dependencies { classpath 'com.android.tools.build:gradle:3.0.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files //object box classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion" } } allprojects { repositories { google() jcenter() maven { url 'https://maven.google.com' } maven { url "http://objectbox.net/beta-repo/" } } } task clean(type: Delete) { delete rootProject.buildDir }
Я ищу возможное решение в нескольких проектах. Я также следую официальному демонстрационному приложению. Но все-таки, это не работает для меня?
Может ли кто-нибудь помочь мне исправить это?
Ваша настройка выглядит хорошо. Обратите внимание, что вам не нужно добавлять objectbox-android
, objectbox-kotlin
или objectbox-processor
. Плагин сделает это за вас.
У вас есть хотя бы один класс @Entity ? Например:
@Entity public class User { @Id private long id; private String name; }
Затем Build> Make project . Обработчик аннотации должен собрать объект и создать класс MyObjectBox.