Articles of Кинжал

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

Ошибка кинжала 2 в AppCompatActivity

Я новичок в кинжале. В настоящее время я создаю образец проекта для некоторых сокращений: MyComponent.java @PerActivity @Component(modules = MyModule.class) public interface MyComponent { void inject(TutorialActivity activity); } MyModule.java @Module public class MyModule { @Provides Position providePosition() { return new Position(); } } PerActivity.java @Scope @Retention(RUNTIME) public @interface PerActivity {} TutorialActivity.java public class TutorialActivity extends AppCompatActivity{} […]

Инъекция GoogleApiClient

Я хочу вставлять экземпляры Google api-клиента в разные части моего проекта, но мне не удалось заставить его работать. @Provides @Named("geodata_api") @Singleton GoogleApiClient providesGoogleApiClient(Context context) { return new GoogleApiClient.Builder(context) .addApi(Places.GEO_DATA_API) .build(); } @Provides @Named("location_api") @Singleton GoogleApiClient providesGoogleApiClient(Context context) { return new GoogleApiClient.Builder(providesContext()) .addApi(LocationServices.API) .build(); }

Область действия Dagger2, сколько модулей / компонентов мне нужно?

У меня есть несколько вопросов о пользовательских областях: Я использую MVP architecutre, и мне нужно приложить различные докладчики к различным видам деятельности. Для этого я создал @ActivityScope. Означает ли это, что я должен создать отдельный модуль / компонент для каждой активности? Какова цель аннотаций пользовательских областей, если я все еще несу ответственность за создание и […]

Android: Кинжал 2 и инъекция конструктора

Я новичок в кинжале, и мой инсталлятор конструктора / метода не работает. Не работает то, что введенные поля по-прежнему запрашиваются. Это мой код: @Module public class AppContextModule { private final Context appContext; public AppContextModule(Context appContext) { this.appContext = appContext; } @Singleton @Provides public Context getAppContext() { return appContext; } } @Singleton @Component(modules = {AppContextModule.class}) public […]

Dagger2 dagger.android. * Классов не существует

Я добавляю Dagger2 в свое приложение для Android в соответствии с инструкциями официальных документов . Раньше я использовал Dagger и Dagger2, похоже, что Google обновил версию для Android по следующей цитате; Классы в кинжале.андроиде предлагают один подход для упрощения этого шаблона. … Затем, чтобы ваше приложение реализовало HasDispatchingActivityInjector и @Inject DispatchingAndroidInjector для возврата из метода […]

Компонент 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 зависит от более чем […]