組件依賴(lài)另一個(gè)組件的情況
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 { //暴露一個(gè)接口 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); }}打印結(jié)果為:**********呵呵噠其中的關(guān)鍵點(diǎn):
1:AppModule必須提供對(duì)象的接口(proContext)
2:ActivityComponent必須添加dependencies=xxxx
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注