组件依赖另一个组件的情况
public class PResent { String ss = "呵呵哒"; public Present(Context context) { }}@Modulepublic class AppModule { Context mContext; public AppModule(Context context) { this.mContext = context; } @Provides public Context provicesContext(){ return mContext; }}@Component(modules = {AppModule.class})public interface AppComponent { //暴露一个接口 Context proContext();}@Modulepublic class ActivityModule { @Provides Present providesPresent(Context context){ return new Present(context); }}@Component(dependencies = {AppComponent.class},modules = {ActivityModule.class})public interface ActivityComponent { void injectActivity(Main3Activity activity);}public class Main3Activity extends AppCompatActivity { @Inject Present mPresent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main3); AppComponent appComponent = DaggerAppComponent.builder().appModule(new AppModule(this)).build(); ActivityComponent activityComponent = DaggerActivityComponent.builder() .appComponent(appComponent) .activityModule(new ActivityModule()) .build(); activityComponent.injectActivity(this); Log.e("","******************"+mPresent.ss); }}打印结果为:**********呵呵哒其中的关键点:
1:AppModule必须提供对象的接口(proContext)
2:ActivityComponent必须添加dependencies=xxxx
新闻热点
疑难解答