Articles of Кинжал

Компонент Dagger2 с несколькими зависимостями

Это то, что я сейчас имею, и он работает: @FragmentScope @Component(dependencies = {FacebookComponent.class}, modules = {FragmentFacebookLoginModule.class}) public interface FragmentFacebookLoginComponent { void inject(FragmentFacebookLogin fragment); } Теперь я хочу добавить другую зависимость. Я изменил это на следующее: @Component(dependencies = {FacebookComponent.class, AnotherComponent.class}, modules = {FragmentFacebookLoginModule.class}) Но теперь я получаю это сообщение об ошибке: FragmentFacebookLoginComponent зависит от более чем […]

Dagger 2 issue overriding single предоставляет аннотированный метод из модуля в библиотеке, которая использует приложение

Ссылка на проект GitHub Я сделал проект на GitHub, который является моделью архитектуры кинжала 2 моей реальной архитектуры проекта. Этот вопрос будет основан на проекте GitHub. Я предоставил много фрагментов кода в этом вопросе, однако, может быть проще просто скомпилировать проект самостоятельно в Android Studio, чтобы понять проблему. Если вы проверите код, он не будет […]

Как ввести активность в адаптер с помощью dagger2

Android Studio 3.0 Canary 8 Я пытаюсь внедрить свою MainActivity в свой адаптер. Тем не менее, мое решение работает нормально, но я думаю, что его запах кода, а не правильный способ сделать это. Мой фрагмент адаптера выглядит так, но мне не нравится в том, что мне нужно MainActivity Activity в MainActivity : public class RecipeAdapter […]

Кинжал v2: ввести 2 разных области действия в один объект

У меня есть moduleA setup как один провайдер Singleton провайдера, ModuleB как поставщик объектов, связанных с пользователем Мой пользовательский фрагмент изображения будет использовать шину с системной шиной для отправки сообщения другим пользователям и использование объекта, связанного с пользователем. Проблема не может вставить другой класс scrope в один объект. Использовать метод component.getX отлично работает, но предпочтительнее […]

Android-приложение вылетает с выпуском сборки с использованием Proguard и Dagger

Я новичок в использовании Proguard и Dagger для приложений для Android, поэтому я был бы очень признателен, если бы кто-то мог дать мне несколько указателей. В приложение реализованы Proguard и Dagger. Когда приложение устанавливается через режим отладки (т. Е. Выталкивается из Eclipse), нет проблем с запуском приложения. Однако, когда я запускаю сборку релиза приложения, он […]

Кинжал 2 на Android. Различные способы хранения и доступа к компоненту @Singleton

Это N-й вопрос о том, как хранить компоненты Dagger 2 с компонентами @Singleton, срок службы которых должен равняться продолжительности жизни приложения. В приложениях Android, использующих Dagger 2, обычно есть как минимум один компонент, который является @Singleton, и должен длиться всю жизнь приложения: из-за этих требований он обычно инициализируется и хранится внутри пользовательского класса Application. Поскольку […]

Нет файлов сгенерированных Dagger2 для тестов JUnit

Новая версия AndroidStudio 1.1 представила поддержку модульного тестирования. Этот URL-адрес http://tools.android.com/tech-docs/unit-testing-support предоставляет пошаговую инструкцию по настройке IDE для запуска тестов JUnit для Android-источников. Этот плагин https://bitbucket.org/hvisser/android-apt используется для предоставления файлов сгенерированных Dagger2 в AS, и он работает нормально для обычного кода Android, но, к сожалению, нет никаких файлов Dagger2 для любого тестового класса JUnit. Я […]

Dagger2: ошибка, когда два компонента имеют одну и ту же сигнатуру инъекционного метода

У меня есть этот компонент: @Singleton @Component(modules = OauthModule.class) public interface OauthComponent { void inject(LoginActivity a); } И модуль: @Module public class OauthModule { @Provides @Singleton Oauth2Service provideOauth2Service() { return new Oauth2StaticService(); } } И этот другой компонент: @Singleton @Component(modules = LoggedUserModule.class) public interface LoggedUserComponent { void inject(LoginActivity a); } И я получаю эту ошибку: […]

Самый простой способ создать синглтон с кинжалом 2?

Нужно ли мне настраивать модули, провайдеры и интерфейсы (компоненты)? Похоже, что немного накладных расходов, чтобы иметь возможность вводить синглтон. Может ли кто-нибудь предоставить простой пример синглтона, используя Dagger 2? (Также показать, как можно установить свойства синглтона, такие как контекст, поэтому вам не нужно передавать его каждый раз, когда вы используете синглтон)

Не может быть предоставлен без конструктора @Inject или из метода @ Provides-annotated

Я использую Android Dagger2, но я получаю ошибку ниже. Мой класс AppModule: @Module public class AppModule { @Provides public DownloadFilePresenterImp provideDownloadfilePresenterImp(DownloadFileView downloadFileView) { return new DownloadFilePresenterImp(downloadFileView); } } Мой интерфейс AppComponent: @Singleton @Component(modules = AppModule.class) public interface AppComponent { void inject(DownloadFileView target); } Мой класс DaggerInject public class DaggerInjector { private static AppComponent mAppComponent = […]