@inject
public ApiClient mClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mManager = new SharedPreferencesManager(this);
DaggerInjector.get().inject(this);
}
public class DaggerInjector {
private static AppComponent appComponent = DaggerAppComponent.builder().appModule(new AppModule()).build();
public static AppComponent get() {
return appComponent;
}
}
@Component(modules = {AppModule.class, ApiModule.class, MvpModule.class})
@Singleton
public interface AppComponent {
void inject(BaseActivity activity);
}
API
@Singleton
@Component(modules = {ApiModule.class})
public interface ApiComponent {
void inject( BaseActivity activity);
}
@Module
public class ApiModule {
@Provides
@Singleton
public ApiClient getApiClient(){
return new ApiClient();
}
}
MVP
@Singleton
@Component(modules = {MvpModule.class})
public interface MvpComponent {
void inject(BaseActivity activity);
}
@Module
public class MvpModule {
@Provides
@Singleton
public MvpPresenter getMvpPresenter(){ return new MvpPresenter();}
}
Error:(16, 10) error: ApiClient cannot be provided without an @Inject constructor or from an @Provides- or @Produces-annotated method. This type supports members injection but cannot be implicitly provided.
ApiClient is injected at
...BaseActivity.ApiClient
...BaseActivity is injected at
MvpComponent.inject(activity)
我发现了我的问题。我需要使用一个子组件。
@Singleton
@Subcomponent(modules = {MvpModule.class})
public interface MvpComponent {
void inject(BaseActivity activity);
}
@Module
public class MvpModule {
@Provides
@Singleton
public MvpPresenter getMvpPresenter(){ return new MvpPresenter();}
}
见
dagger-我们应该为每个活动/片段创建每个组件和模块吗
本文向大家介绍libgdx 创建一个组件,包括了libgdx 创建一个组件的使用技巧和注意事项,需要的朋友参考一下 示例 组件只是实现Ashley组件类的实例。 组件映射提供了一种访问实体上组件的快速方法。管理组件映射的两种常用方法是在组件的类中保留静态实例,或者使类/枚举包含所有组件的所有映射器。 您无需在应用程序中多次声明组件类型的映射器。
问题内容: Play框架文档在模块创建方面有些薄弱。 如何创建一个模块? 我已经读到大型应用程序可以分为多个模块,如何? 模块不能/不能做什么?(是否可以访问低级API?) 播放模块可以公开抽象的JPA类吗? 打包模块的最佳方法是什么? 如何部署/分配播放模块? 我想您有个主意…向我们介绍所有使用Playframework的模块。 问题答案: 如何创建一个模块? 我已经读到大型应用程序可以分为多个
本文向大家介绍aurelia 创建一个基本模板,包括了aurelia 创建一个基本模板的使用技巧和注意事项,需要的朋友参考一下 示例 在Aurelia中,所有HTML模板都在开始和结束<template></template>标记内定义。您所有HTML和Aurelia特定的逻辑都在这些模板标记内,并且不能在它们之外存在。
问题内容: 如何在Magento中完成以下任务? 使用控制器/视图/模型方法显示“ Hello World”消息。因此,如果我去过,它将显示字符串“ Hello World”。能够在我的网站模板中显示此字符串(例如,页眉,页脚等)将是一个好处。 如何向该控制器(如果需要,或新控制器)添加方法,该方法与模型交互并执行查询,并将行(包含columns )返回给控制器?然后使用控制器包含一个视图,该视图
问题内容: 我有一个多模块的Maven项目。父POM和单个模块的pom运行正常(因为每个模块中的代码运行正常,没有任何依赖关系问题,目标运行没有任何警告/错误)。现在,我需要为每个模块创建一个jar。 项目结构及其依赖关系大致如下 我遵循了这个 Maven多模块项目-将所有“包”JARS从子模块复制到父级/目标/ 而且,能够将我的所有子模块的jar放入一个文件夹,但是我无法运行任何jar,因为模块
行动时刻 - 为您的组织创建RADIUS PKI 本书的目的不是取代现有的文档。 FreeRADIUS配置目录下的certs子目录中有一个很好的README文件。按照说明为您的组织创建一组新证书。 如果你有一个辅助FreeRADIUS服务器,你可以使用server.cnf文件;备份主FreeRADIUS服务器的配置并修改它以为辅助RADIUS服务器创建证书。注意不要覆盖主FreeRADIUS服务器