Связывание данных с Koin и Room - PullRequest
0 голосов
/ 24 марта 2019

У меня следующая проблема: я использую Koin для DI и Room для настойчивости.Теперь мои комнатные зависимости следующие:

// Architecture Component - Room
implementation "android.arch.persistence.room:runtime:1.1.1"
annotationProcessor "android.arch.persistence.room:compiler:1.1.1"

Но я получаю описанную здесь ошибку: Постоянная комната Android: AppDatabase_Impl не существует

Поэтому я изменил annotationProcessorкапт.Но теперь я получаю несколько ошибок в автоматически сгенерированных из классов привязки данных, которых не было с annotationProcessor.Например:

app/build/generated/data_binding_base_class_source_out/debug/dataBindingGenBaseClassesDebug/out/databinding/FragmentBinding.java:26: error: cannot find symbol
  protected FragmentBinding(DataBindingComponent _bindingComponent, View _root,
                                     ^
  symbol:   class DataBindingComponent
  location: class FragmentBinding

Определение модуля Коина:

val persistenceModule = module {
    single {
        Room.databaseBuilder(androidApplication(), Database::class.java, "database.db")
            .build()
    }
    single { get<Database>().dao() }
}

Как это может произойти?

1 Ответ

0 голосов
/ 15 июля 2019

Убедитесь, что вы добавили плагин kapt в свой уровень приложения build.gradle файл:

apply plugin: 'kotlin-kapt'
...