在dagger 2组件中使用提供方法?

时间:2015-09-04 10:55:06

标签: android dagger-2

大家好,我对Dagger 2组件有一个快速提问。具体提供组件内的方法。在我的代码中,我有一个非常简单的组件“RegComponent”,如下所示。

 @Singleton
 @Component(modules ={RegModule.class})
 public interface RegComponent
 {
     RegisterPresenterInt getPres();
 }

当我调用getPres()时,这个basicallly返回我的演示者类。下面是它的模块类“RegModule”

 @Module
 public class RegModule 
 {

   private RegistrationActivity activ;

   public RegModule(RegistrationActivity activityin)
   {
       activ = activityin;
   }


   @Singleton
   @Provides RegisterPresenterInt getPres()
   {
       return new RegisterPresenter(activ);
   }
}

然后我继续在我的活动/视图中进行以下调用

regpresenter = DaggerRegComponent.builder().regModule(new RegModule(this)).build().getPres();

我的问题是这被认为是leigitmate注入类,因为我没有在任何地方使用@Inject注释?另外,如果我使用提供方法,有没有使用@Inject注释以及这种类型的方法调用而不使用成员注入方法?我的麻烦基本上是理解使用Inject和注释@Inject以及从没有任何viod inject()方法的组件调用provide方法之间的区别。对于我刚刚与Dagger 2达成协议的愚蠢问题提前道歉。

0 个答案:

没有答案