草庐IT

java - 未注入(inject) Android Dagger 2 依赖项

我正在尝试在我的应用程序中使用Dagger2,但我在实体存储库方面遇到了一些问题,我还没有弄清楚我缺少什么。这是我的应用程序组件:@Singleton@Component(modules={AndroidModule.class,RepositoryModule.class})publicinterfaceApplicationComponent{voidinject(AndroidApplicationapp);IDependenceyRepositorydependencyRepository();}我的模块:@ModulepublicclassRepositoryModule{@

java - Dagger 2 : inject an interface in a constructor

我正在尝试学习dagger2,但我对使用接口(interface)注入(inject)构造函数感到困惑。这是我的以下代码:MainActivity.javapublicclassMainActivityextendsAppCompatActivityimplementsMainView{//thiskeywordofrequestdependency.Atcompilingprocess,daggerwilllookatalloftheseannotations//tocreatetheexactdependency@InjectMainPresentermainPresenter;T

android - 将非 Activity 类添加到 Dagger 2 Graph Android

除了我见过的有限示例之外,我很难思考如何使用Dagger2.0。让我们举一个阅读应用程序的例子。在这个阅读应用程序中,有一个用户故事库和登录功能。为了这个例子的目的,感兴趣的类是:MainApplication.java-扩展应用程序LibraryManager.java-负责在用户库中添加/删除故事的管理器。这是从MainApplication调用的AccountManager.java-负责保存所有用户登录信息的管理器。它可以从LibraryManager调用我仍在努力思考应该创建哪些组件和模块。到目前为止,这是我可以收集到的信息:创建一个提供AccountManager和Libr

java - 如何在 Android 中使用 Dagger2 依赖注入(inject)和 Robolectric 进行测试?

我最近将Dagger2实现到一个Android应用程序中以便于依赖注入(inject),但在这样做之后我的一些测试已经停止工作。现在我想了解如何调整我的测试以使用Dagger2?我正在使用Robolectric来运行我的测试。这是我如何使用Dagger2,我最近才学会它,所以这可能是不好的做法,对测试没有帮助,所以请指出我可以做的任何改进。我有一个AppModule,如下所示:@ModulepublicclassMyAppModule{//ApplicationreferenceApplicationmApplication;//Settheapplicationvaluepublic

java - Dagger2 在依赖模块中注入(inject) @Named @Provides 的地方?

我使用https://guides.codepath.com/android/Dependency-Injection-with-Dagger-2的dagger2演示.我想使用缓存和非缓存改造调用。我在NetModule.java中创建@Provides@Named("cached")@SingletonOkHttpClientprovideOkHttpClient(Cachecache){OkHttpClientokHttpClient=newOkHttpClient.Builder().cache(cache).build();returnokHttpClient;}@Provid

android - 如何使用 Dagger 2 向 MyFirebaseMessagingService 提供数据库,以便我可以在 android 中本地存储 fcm 消息

如何才能将数据库实例传递给扩展FirebaseMessagingService的MyFirebaseMessagingService类,以便我可以在本地保存data负载?注意:我已经在我的应用中设置了dagger2,它运行良好。下面是MyFirebaseMessagingService类:classMyFirebaseMessagingService@Injectconstructor(exampleOneDao:ExampleOneDao?):FirebaseMessagingService(){overridefunonMessageReceived(remoteMessage:R

android - Dagger 项目在 getApplication 覆盖时静默失败

我试图让Dagger简单示例在IntelliJ中运行,但它在DemoBaseActivity类中的getApplication调用失败:publicabstractclassDemoBaseActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);((DemoApplication)getApplication()).inject(this);}}当它遇到注入(inject)方法时,应用程序会静默失败,不会出现任何

android - 是否可以在图书馆项目中使用 Dagger?

我有一个工作和图书馆项目。工作项目中使用了Dagger,前几天决定在图书馆项目中也使用Dagger。我为库项目配置了EclipseJava编译器和注释处理设置,添加了所需的Dagger和JavaWriterJAR,并在库项目中标记了一个模块。现在两个项目都没有任何错误。但是当我尝试在Android设备上运行应用程序时,它崩溃了:java.lang.RuntimeException:Unabletocreateapplicationcom.iqm.smartapp.AlarmsApplication:java.lang.IllegalStateException:Moduleadapte

android - 如何在考虑测试的情况下使用 Dagger 设计 Android 应用程序

我是dagger的新手,我最近开始在我自己的一个项目中使用dagger,因为能够以不同方式处理测试和生产的依赖注入(inject)的概念,从而能够注入(inject)我可以注入(inject)的模拟对象用于测试很棒。我修改了我的应用程序以遵循daggersimple-androidexample中列出的样式.全部设置好后,我发现注入(inject)有问题,我无法用测试逻辑完全重载生产应用程序中的注入(inject)。我正在寻找有关如何设置它的建议,以便我的测试实际上可以根据需要与模拟或其他对象进行差异化注入(inject)以进行测试,并且不会太笨拙。目前,MainActivityTes

android - 用 dagger2 注入(inject)测试模块

我在我的Android应用程序中使用Dagger2。基本上,我在MainActivity中注入(inject)了一个HttpClient(接口(interface))。@ModulepublicclassMainActivityModule{@ProvidespublicHttpClientprovidesHttpComponent(){returnnewRealHttpClient();}}@Component(modules=MainActivityModule.class)publicinterfaceMainActivityComponent{publicMainActivit