Articles of зависимость инъекция

Kotlin: Запуск kapt в командной строке для создания заглушек для DI

Я пытаюсь запустить kapt3 из командной строки для создания явных заглушек для файлов Kotlin. Синтаксис выглядит следующим образом: kotlinc -P plugin:org.jetbrains.kotlin.kapt3:aptMode=stubs -classpath $CLASSPATH:$ANDROID_HOME/platforms/android-23/android.jar -d $OUT $SRCS Это верно? Я не вижу плагин в kotlin/lib . На данный момент я пытаюсь создать его из источника, но каков его «официальный» способ его загрузки? Дополнительные замечания: Это проект […]

Кинжал при создании проекта

Когда я пытаюсь построить проект для генерации файлов Dagger, сбой завершается с исключением. Не могли бы вы рассказать мне, как исправить это или, по крайней мере, в каком направлении посмотреть. e: /home/hodzi/Projects/StudioProjects/StackViewer/app/build/tmp/kapt3/stubs/debug/com/hodzi/stackviewer/di/AppComponent.java:6: ошибка: [com.hodzi.stackviewer.questions. di.QuestionsComponent] com.hodzi.stackviewer.questions.di.QuestionsComponent имеет конфликтующие области: e: e: публичный абстрактный интерфейс AppComponent {e: ^ e: com.hodzi.stackviewer.di.AppComponent также имеет @Singleton e: java.lang.IllegalStateException: не […]

kodein – введенное значение данных не является значением данных

В моем классе CallType я поместил вложенные данные connectivityState.callBackState в значение true, которое инициализируется как false в моем классе ConnectivitySte . Но в моем классе IncomingCallBroadcastReceiver мои данные callBackState не true а false . class CallType { val kodein = Kodein { bind<ConnectivityState>() with provider { ConnectivityState() } } private val connectivityState: ConnectivityState = kodein.instance() […]

kodein, ввод данных в простой класс

Я новичок в разработке котлин и кодин. Я хочу ввести данные в простой класс, который ничего не расширяет. У меня есть моя MainActivity которая расширяет KodeinAppCompatActivity() , мой фрагмент, который расширяет KodeinSupportFragment() вызывает функцию из моего простого класса CallType . Но эта функция должна изменить логическое значение из другого простого класса ConnectivitySate . Я не […]

Android Dagger: я не могу предоставить внешний класс без конструктора @Inject

РЕДАКТИРОВАТЬ Решила проблему. См. Мой пост ниже. Я пишу приложение для Android с использованием кинжала и котлина. Я хочу ввести класс java.text.SimpleDateFormat в свой класс DateHelper @Singleton class DateHelper @Inject constructor(var dateFormat: SimpleDateFormat) { … } У меня есть модуль, который @Provides SimpleDateFormat . @Module class DateModule { @Singleton @Provides fun dateFormat(): SimpleDateFormat { return […]

Guice MapBinder

Я использую Guice в проекте Java + Kotlin, чтобы внедрить карту реализации алгоритма в конкретный компонент, но я продолжаю получать 1) No implementation for java.util.Map<java.lang.String, ? extends com.scherule.scheduling.algorithms.SchedulingAlgorithm> annotated with @com.google.inject.name.Named(value=scheduling.algorithms) was bound. while locating java.util.Map<java.lang.String, ? extends com.scherule.scheduling.algorithms.SchedulingAlgorithm> annotated with @com.google.inject.name.Named(value=scheduling.algorithms) for the 2nd parameter of com.scherule.scheduling.SchedulingJobConsumer.<init>(SchedulingJobConsumer.kt:17) while locating com.scherule.scheduling.SchedulingJobConsumer Определение модуля определяется следующим […]

Что не так с использованием инсталляции setter для Android ViewModel против внедрения и ввода ViewModel.Factory?

Я изо всех сил пытаюсь получить синглтон Кинжал, введенный в компонент Android (Service) и ViewModel. См. Этот вопрос в качестве справки. Я не нашел хороший пример того, как просто вставить поле в Сервис и поле в ViewModel с тем же объектом. Если есть простое решение, которое я хотел бы увидеть. Я нашел несколько вопросов, здесь […]

Правильный способ вставки кинжала 2 + Kotlin + ViewModel

class SlideshowViewModel : ViewModel() { @Inject lateinit var mediaItemRepository : MediaItemRepository fun init() { What goes here? } Поэтому я пытаюсь изучить Dagger2, чтобы я мог сделать свои приложения более проверенными. Проблема в том, что я уже интегрировал Kotlin и работаю над компонентами Android Architecture. Я понимаю, что инъекция конструктора предпочтительнее, но это невозможно с […]

Dagger 2 обменивается экземпляром объекта между ведущими

Я разрабатываю приложение с несколькими услугами, включая FirebaseAuthService . Я хотел бы иметь тот же экземпляр FirebaseAuthService во всех моих презентаторах (для каждого вида деятельности). Как мне это сделать?

Проблема с компиляцией Dagger2 в Котлине

Я пытаюсь изучить инъекцию зависимости, используя Dagger2. Я создал несколько пользовательских областей и Qualifier. Я создал компонент приложения, где я хотел бы ввести определенные глобальные зависимости, а также создал компонент Activity, который будет возвращать определенные экземпляры на основе контекста активности. Теперь, когда я пытаюсь ввести глобальные экземпляры в Activity, я получаю ошибку следующим образом: e: […]