@对扩展Cordova活动的活动贡献Android
根据Dagger的说法,我可以在具体的Android框架类型上使用ContributesAndroidInjector。我将无法扩展DaggerActivity,因为我有一个混合应用程序,在我的情况下,我通过扩展CordovaActivity来使用我的活动。在这些场景中应该采用什么方法 我是否应该回到2.10之前的方法,在活动的@对扩展Cordova活动的活动贡献Android,android,dagger-2,Android,Dagger 2,根据Dagger的说法,我可以在具体的Android框架类型上使用ContributesAndroidInjector。我将无法扩展DaggerActivity,因为我有一个混合应用程序,在我的情况下,我通过扩展CordovaActivity来使用我的活动。在这些场景中应该采用什么方法 我是否应该回到2.10之前的方法,在活动的onCreate()上注册Dagger要注入的活动,如下所示 通过这样做,我必须重写我的应用程序类以返回appComponent,这再次违背了DI的目的 您能否为我提供一
onCreate()
上注册Dagger要注入的活动,如下所示
通过这样做,我必须重写我的应用程序类以返回appComponent,这再次违背了DI的目的
您能否为我提供一些正确的途径来处理此场景。这再次违背了DI的目的。whoI说,“然而,这种模式打破了依赖注入的一个核心原则:一个类不应该知道它是如何被注入的。”没有必要扩展
DaggerActivity
。看看它的源代码。它实现了一个接口并调用AndroidInjection.injection(this)
,这两个功能您也可以自己完成。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
((App)getApplication())
.getAppComponent()
.inject(this);
}