Articles of Кинжал

Как переопределить зависимости в пределах областей в кинжале 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. […]

Компонент Dagger2 (un-scoped) не может зависеть от компонентов с областью – Ошибка

Я пытаюсь скомпилировать https://github.com/svenjacobs/android-dagger2-example, но я столкнулся с ошибкой, связанной с незащищенным компонентом, в зависимости от облачных компонентов. (Android Studio 1.1, Gradle 2.2.1). Также, если кто-нибудь знает о других примерах Android Dagger2 с ФРАГМЕНТАМИ, я хотел бы узнать о них. ОБНОВЛЕНИЕ: Вот еще один пример, очень простой с фрагментами: https://github.com/gk5885/dagger-android-sample /Users/Mac1/android-dagger2-example-master/app/src/main/java/com/svenjacobs/dagger2/ActivityComponent.java Error:(15, 1) error: com.svenjacobs.dagger2.ActivityComponent […]

Dagger2 и Android

Я пытаюсь внедрить Injection Dependency Injection в мое приложение, но мне сложно понять, как это работает, особенно из Spring, где DI был намного проще и гораздо более декларативным. Я хочу сделать кучу готовых к инъекции объектов, которые можно использовать во всем моем приложении, это SharedPreferences, Сетевые объекты (OkHttp, Retrofit, Picasso …) и EventBus и объект […]

Кинжал 2: ошибка о субкомпонентах, но у меня нет никаких подкомпонентов в моем приложении

Я пытаюсь использовать Dagger 2 в своем приложении. Я продолжаю получать эту ошибку: Ошибка: выполнение выполнено для задачи ': app: compileDebugJavaWithJavac'. Java.lang.IllegalArgumentException: @ dagger.Module не определяет подкомпоненты элемента () Я вообще не использую подкомпоненты в приложении, поэтому я понятия не имею, почему эта ошибка происходит. У меня есть один модуль и один компонент. Модуль: @Singleton […]

Можно ли вводить кинжал в статическом методе?

У меня есть этот сетевой модуль. Я хочу добавить модуль сети в статический метод ErrorUtils. @Module public class NetworkModule { private final String END_POINT = "https://www.myurl.com/"; @Provides @Singleton public OkHttpClient getOkHttpClient() { OkHttpClient okHttpClient = builder.build(); return okHttpClient; } @Provides @Singleton public GsonConverterFactory getGsonConverterFactory() { return GsonConverterFactory.create(); } @Provides @Singleton public Retrofit getRetrofit(OkHttpClient okHttpClient, GsonConverterFactory […]

Добавление классов неактивности к кинжалу 2 График Android

Мне нелегко обернуть голову, как использовать Dagger 2.0 за пределами ограниченных примеров, которые я видел. Приведем пример чтения приложения. В этом приложении для чтения есть библиотека рассказов пользователя и возможность входа в систему. Классы интересов для этого примера: MainApplication.java – расширяет приложение LibraryManager.java – менеджер, который отвечает за добавление / удаление историй в библиотеке пользователя. […]

Java.lang.NoClassDefFound с помощью Dagger 2 для Android 4

У меня есть проект, где используется Dagger 2, и я не могу запустить приложение на Android 4+, он падает. Но на Android 5+ он работает отлично. Итак, вот ошибка, которую я получаю: 08-05 05:03:38.076 25444-25444/app.xqute.com.xqute E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: app.xqute.com.xqute, PID: 25444 java.lang.NoClassDefFoundError: app.xqute.com.xqute.AppModule_ProvideProfileFactory at app.xqute.com.xqute.DaggerApp_AppComponent.initialize(DaggerApp_AppComponent.java:58) at app.xqute.com.xqute.DaggerApp_AppComponent.<init>(DaggerApp_AppComponent.java:50) at app.xqute.com.xqute.DaggerApp_AppComponent.<init>(DaggerApp_AppComponent.java:35) at app.xqute.com.xqute.DaggerApp_AppComponent$Builder.build(DaggerApp_AppComponent.java:151) at app.xqute.com.xqute.App.onCreate(App.java:63) […]