Articles of Кинжал

Кинжал 2 – модули из разных компонентов

Я не совсем уверен, как решить это с помощью кинжала 2. Предположим, что у нас есть ApplicationModule который предоставляет нам ApplicationContext тогда у нас есть ApplicationComponent который использует только этот модуль. Затем поверх него мы имеем ActivityModule и ActivityComponent которые зависят от ApplicationComponent . ActivityComponent построен так же, как ApplicationComponent component = ((MyApplication) getApplication()).getComponent(); mComponent […]

Создание Android Instant App с компонентом приложения из кинжала

Я сейчас экспериментирую с InstantApps и хочу включить кинжал в свой проект. У меня возникла проблема с настройкой приложения AppComponent. Мой компонент приложения включает в себя все функциональные кинжалы моего приложения. Я в основном имею: Один базовый модуль приложения, содержащий мой класс приложения Множество функций с каждым модулем кинжала за активность, все с базой как […]

Кинжал 2 – Почему это цикл зависимости?

Я пытаюсь ввести Context приложения в 2 других объекта: AuthManager и ApiClient . Оба они зависят от указанного контекста, а ApiClient зависит от AuthManager . Почему это цикл зависимости, если Context не имеет ссылки на остальные 2? Можно ли это решить? EDIT: вот какой код @Module public class AppModule { private final Application application; public […]

Java-зависимость: Кинжал 1 против Кинжала 2, что лучше?

Каковы преимущества кинжала 2 над кинжалом 1 ? До сих пор я нашел (просто) 2: Кинжал 2 позволяет использовать обфускацию кода с помощью proguard Dagger 2 работает быстрее (что не очень полезно при использовании приложения для Android, но это важно, если вы используете его для какого-то сервера) В то же время я обнаружил один большой […]

Создание элемента MembersInjector для . Предпочитают вместо этого запускать процессор кинжала над этим классом

У меня есть эти предупреждения, и я не понимаю, что они означают. Может ли кто-то мне что-то сказать? Для классов, которые я вставляю в (где есть оператор component.inject(this) ) Note: Generating a MembersInjector for [class] Prefer to run the dagger processor over that class instead. Для объекта я закачиваю (constuctor, аннотированный с помощью @Inject ) […]

Ошибка кинжала 2: зависимость «не может быть предоставлена ​​без конструктора @Inject», в то время как она фактически аннотируется с помощью @Inject

Я начал использовать Dagger 2 и столкнулся с странной проблемой, которая выглядит как ошибка для меня. У меня есть 3 модуля, которые состоят из одного подкомпонента, который, в свою очередь, расширяет / плюсы компонента более высокого уровня. Подкомпонент довольно прост: просто комбинация модулей и единственная точка инъекции: @Singleton @Subcomponent( modules = { NavigationDrawerModule.class, NavigationListModule.class, SwitcherModule.class […]

Могу ли я просто вводить суперкласс при использовании кинжала2 для инъекции зависимостей?

Я использую Dagger2 для DI в своем приложении для Android. Я обнаружил, что мне нужно написать метод инъекции для каждого класса, который использует поле @Inject. Есть ли способ, которым я могу просто ввести родительский класс, чтобы мне не приходилось вводить инъекцию во всех подклассах? Например, возьмите операцию. У меня есть BaseActivity , из которого происходит […]

Кинжал 2, иногда при компиляции я получаю "не могу найти символ класса DaggerApplicationComponent"

Недавние после обновления Android Studio (2.0.7) (может быть, это и есть причина) иногда при создании я получаю эту ошибку. Идея заключается в том, что обычно компиляция идет хорошо, но иногда я получаю ошибку кинжала. Возможно, это проблема в конфигурации кинжала? Сама ошибка: Executing tasks: [:app:assembleDebug] Конфигурация по требованию является инкубационной функцией. Инкрементная компиляция java – […]

Области применения кинжала 2

Я, вероятно, что-то пропустил, но я думал, что Scopes, например @Singleton, используется для определения «скопированных жизненных циклов». Я использую Dagger 2 в Android-приложении (но я не думаю, что проблема связана с Android). У меня 1 модуль: @Module public class MailModule { @Singleton @Provides public AccountManager providesAccountManager() { return new AccountManager(); } @Singleton @Provides public MailProvider […]

Метод компоновщика компонента Dagger 2.2 устарел

Я начал использовать кинжал 2.2, а методы модуля в компоновщике компонентов устарели. Это мой компонент приложения: @Component(modules = ApplicationModule.class) public interface ApplicationComponent { void inject(Application application); } И модуль приложения: @Module public class ApplicationModule { Application application; public ApplicationModule(Application application) { this.application = application; } @Provides @Singleton Application providesApplication() { return application; } } Вот […]