Articles of Кинжал

Кинжал 2 «Превосходный компонент кинжала» не может скомпилировать? Автоматически сгенерированный класс

Я пытаюсь использовать Кинжал 2 на андроиде. Раньше я работал, и у меня были приложения appModule для инъекций в определенные классы в приложении. Моя проблема в том, что iam получает ошибку Error:(14, 55) error: cannot find symbol class DaggerAppComponent Которые пытаются импортировать. Это автогенерируемый класс Ниже указаны мои зависимости от кинжала в файле build.gradle compile […]

Кинжал 2: инжектирование введенного пользователем параметра в объект

Скажем, у меня есть класс Util, который принимает объект – экземпляр класса Validator . Поскольку я хочу избежать создания экземпляра класса Validator в Util, я передаю его через конструктор: public class Utils { @Inject public Util(Validator validator) { } } У меня есть модуль, который предоставляет экземпляр Validator: @Provides @Singleton PhoneNumberUtil provideValidator() { return Validator.getInstance(); […]

Создание тестовых зависимостей при использовании Dagger2

При чтении документов для кинжала 2 я не могу найти простой способ обеспечить зависимость при создании приложения для тестирования. Единственный ключ, который я нашел, это: Кинжал 2 не поддерживает переопределения. Модули, которые переопределяют для простых подделок при тестировании, могут создавать подкласс модуля для подражания этому поведению. Модули, которые используют переопределения и полагаются на инъекцию зависимостей, […]

Контекст не может быть предоставлен без метода @ Provides-annotated, но это так?

У меня есть следующий простой модуль: @Module public class ApplicationModule { private CustomApplication customApplication; public ApplicationModule(CustomApplication customApplication) { this.customApplication = customApplication; } @Provides @Singleton CustomApplication provideCustomApplication() { return this.customApplication; } @Provides @Singleton @ForApplication Context provideApplicationContext() { return this.customApplication; } } И соответствующий простой компонент: @Singleton @Component( modules = ApplicationModule.class ) public interface ApplicationComponent { CustomApplication […]

Dagger 2.10 Подкомпоненты и разработчики Android

Используя новые (в 2.10) классы кинжала.андроида, я пытаюсь внедрить вещи, используя подкомпонент, который зависит от других модулей, и, следовательно, имеет Builder с сеттерами для этих модулей. Документация по https://google.github.io/dagger/android.html описывает это, но неясно, как на самом деле писать и / или вызывать эти сеттеры. Цитата из приведенной выше ссылки: AndroidInjection.inject () получает DispatchingAndroidInjector из приложения […]

Кинжал 2 на Android @Singleton аннотированный класс, который не вводится

В настоящее время я пытаюсь интегрировать Dagger 2 в приложение для Android. Моя настройка проекта выглядит следующим образом: библиотека Приложение (зависит от библиотеки) В моем проекте библиотеки я определил класс, который позже я буду вводить в другие классы, которые ему нужны (действия и обычные классы) в библиотеке, а также в проект приложения. @Singleton public class […]

Кинжалы 2 вводят параметры конструктора

Я видел следующий пример на веб-сайте Dagger 2 : class Thermosiphon implements Pump { private final Heater heater; @Inject Thermosiphon(Heater heater) { this.heater = heater; } … } И документация: Когда запрашивается новый экземпляр, Dagger получит требуемые значения параметров и вызовет этот конструктор. Когда я пишу модуль для создания Thermosiphon @Module public class ThermosiphonModule { […]

Кинжал 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 […]

Intereting Posts
Где отменить разрешения Google API, предоставленные на Android? Фрагменты и анимация Android Android: используйте debugmode в галактике s2 Google TV – разрабатывает для эффективности так же важно, как и с телефонами / планшетами? Как я могу установить TextColor, TextSize из PagerTitleStrip из кода? Обновление сервисов Play от 8.1 до 8.3 с включенным Proguard Как повернуть мое приложение на 180 градусов вверх дном на вращающемся устройстве на 180 градусов вверх дном? Android – Simulate Home click Что конкретно делает android: layout_column? Как подготовить изображения для всех разрешений для Android? Расширение приложения для обмена переменными глобально Глубокая ссылка Android: Почему длинный клик также вызывает обычный щелчок? Как обрабатывать разбиение на страницы в модифицированном виде Java.lang.RuntimeException: Parcelable столкнулся с IOException, записывающий сериализуемый объект в Android, передающий объект ArrayList