Articles of Кинжал

Инъекция зависимостей в службе

Я пытаюсь inject dependencies в свое приложение. Все работает нормально, пока я не попытался ввести Realm в мой класс Service . Я начал получать IllegalStateException что, очевидно, вызвано тем, что я IllegalStateException к Realm из созданного им IllegalStateException . Итак, это структура моей Dependency Injection AppModule @Module public class AppModule { MainApplication mainApplication; public AppModule(MainApplication […]

Как перенести недостающую инъекцию из модуля с полным = false от кинжала 1 до кинжала 2

У меня есть проект / модуль библиотеки, который используется как приложениями Android, так и обычными java-приложениями. В кинжале 1 этот проект / модуль имеет свойство complete = false . Внутри есть поле @Inject, которое не выполняется какой-либо реализацией класса или методом @Provides. Идея состоит в том, чтобы заставить «верхний» модуль (ы), который имеет complete = […]

Dagger2 androidTest error duplicate entry: javax / annotation / Generated.class

Я использую Dagger2 для DI. Мой проект имеет 2 модуля :common модуль, который представляет собой библиотеку и модуль :app который является фактическим приложением. В библиотечном модуле у меня есть AndroidApp который расширяет MultiDexApplication и унаследован в модуле :app . Я следовал примеру Google dagger2, чтобы добавить DI с Dagger2. Каждый раз, когда я запускаю приложение, […]

Кинжал 2: java.lang.NoSuchMethodError

Не удается создать проект с помощью Dagger 2 (Android Studio 1.3). Шаг 1. Добавьте зависимости для build.gradle apt 'com.google.dagger:dagger-compiler:2.0' compile 'com.google.dagger:dagger:2.0' provided 'org.glassfish:javax.annotation:10.0-b28' Полный build.gradle apply plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-apt' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { minSdkVersion 14 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles […]

Кинжал 2 не инициализирует переменную

Теперь я пытаюсь реализовать кинжал в своем проекте, и у меня есть одна проблема. Переменная, которая инициализируется в компоненте приложения, не инициализируется в моей деятельности. Вот мой код. Заявка: public class MyApplication extends Application { private ApplicationComponent applicationComponent; @Inject public Context context; @Override public void onCreate() { super.onCreate(); applicationComponent = DaggerApplicationComponent.builder().applicationModule(new ApplicationModule(this)).build(); applicationComponent.inject(this); } public […]

@Injects после @Produces?

Я пытаюсь изучить DI через кинжал 2 и применить его к нашему продукту. @Singleton уровня приложения, аннотированные с помощью @Singleton , достаточно просты (например, SharedPreferences ). В мышлении о нашей архитектуре существует несколько зависимостей, которые являются асинхронными по своей природе, которые, как я предполагал, охвачены @ForSession определения @ForSession . Наша идентификационная информация об аутентификации / […]

Как переопределить зависимости в пределах областей в кинжале 2

Как вы можете переопределить зависимости в разных областях кинжала 2? Пример: У меня есть два компонента в моем приложении: ApplicationComponent и ActivityComponent . ApplicationComponent является базовым компонентом, а ActivityComponent является областью действия, где я хочу выполнить переопределение. В этом примере я создал эти модели: public class Parrot { private final HelloPrinter helloPrinter; public Parrot(HelloPrinter helloPrinter) […]

Компонент общего назначения Dagger2

Я конвертировал свое приложение из Dagger1.0 в dagger2.0 и имел компонент приложения со многими методами void inject(Activity/Fragment/Receiver/etc object) . С dagger 1.0 я просто мог бы просто сделать objectGraph.inject(Object object) но теперь у моего компонента должен быть метод для каждого отдельного класса, который получает в него зависимые значения. Почему я не могу просто иметь компонент, […]

Как вводить зависимости pojo с помощью кинжала 2?

У меня есть простой класс pojo: public class MySimpleClass { private List<String> mDependency; public MySimpleClass (List<String> dependency) { mDependency = dependency; } } И я пытаюсь создать его с помощью инъекции зависимостей с помощью кинжала 2. Сейчас у меня есть простой модуль и компонент для него: @Module public class MySimpleClassModule { @Provides MySimpleClass provideMySimpleClass(List<String> dependency) […]

Кинжал 2, Библиотечные модули и @ Синглтон

Я пытаюсь использовать Dagger 2 в Android Project, который имеет несколько модулей библиотеки Android, и я хотел бы иметь возможность предоставлять экземпляры классов Singleton из этих модулей. В настоящее время я могу определить компоненты внутри библиотечных модулей и внедрить экземпляры в основной модуль приложения. То, что я не могу сделать, – предоставить экземпляр как singleton. […]

Intereting Posts