Я не могу создать свое приложение из-за следующей ошибки.
@Component.Builder отсутствует установщики для необходимых модулей или компонентов
I'mиспользуя
implementation "androidx.room:room-runtime:2.1.0"
kapt "androidx.room:room-compiler:2.1.0"
Мои приложения RoomModul выглядит следующим образом:
@Module
class RoomModule(application: Application) {
@Singleton
private var logDatabase : LogDatabase =
Room.databaseBuilder(application, LogDatabase::class.java, "log-db").build()
@Singleton
@Provides
fun providesLogDatabase() : LogDatabase {
return logDatabase
}
@Singleton
@Provides
fun providesLogDao() : LogDao {
return logDatabase.getLogDao()
}
@Singleton
@Provides
fun providesLogRepository(logDao: LogDao) : LogRepository {
return LogDataSource(logDao)
}
}
А мой AppComponent выглядит следующим образом:
@Singleton
@Component(
modules = [
AndroidInjectionModule::class,
AppModule::class,
MainActivityModule::class,
RoomModule::class
])
interface AppComponent {
@Component.Builder
interface Builder {
@BindsInstance
fun application(application: Application): Builder
fun build(): AppComponent
}
fun inject(logApplication: LogApplication)
}
Так что моему RoomModule требуется приложение для предоставления базы данных комнат.Но я продолжаю получать сообщение об ошибке.
Я думал, что @BindsInstance должен предоставлять экземпляр приложения моим модулям.Я также попытался удалить конструктор из моего RoomModule, но безуспешно.Пожалуйста, дайте мне знать, если я могу предоставить больше информации.