我试图在我的 android 项目中添加一些依赖注入,所以下面的例子我发现我创建了我的模块
@Module(entryPoints = {MyActivity.class})
public class MyModule {
private final Context context;
public MyModule (Context context) {
this.context = context.getApplicationContext();
}
@Provides
@Singleton
Context applicationContext() {
return context;
}
@Provides
@Singleton
EventBus provideEventBus() {
return EventBusFactory.create();
}
}
我有我的申请:
public class MyApplication extends Application{
private ObjectGraph objectGraph;
@Override
public void onCreate() {
super.onCreate();
objectGraph = ObjectGraph.get(new MyModule(this));
}
public ObjectGraph getObjectGraph() {
return objectGraph;
}
}
和活动
public class MyActivity extends Activity {
@App
MyApplication application;
@Inject
EventBus eventBus;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ObjectGraph objectGraph = application.getObjectGraph();
objectGraph.inject(this);
....
我不确定我做错了什么或错过了什么,但我的日食显示错误:
ObjectGraph 类型中的方法 get(Class) 不适用于参数 (MyModuleModule)
在这一行objectGraph = ObjectGraph.get(new MyModule(this));
当我尝试构建时,我得到:
my.android.app.MyActivity 不需要为 my.android.lib.EventBus 绑定 my.android.app.MyModule
有谁可以告诉我我做错了什么以及我忘记了什么?