DaggerのAndroid Supportを使ってみた
の続編
次はコンストラクタインジェクション
・WriteBlog
インジェクションする対象
class WriteBlog { fun execute() = println("write blog") }
・Masterka
インジェクト先
class Masterka @Inject constructor(private val writeBlog: WriteBlog) { fun writeBlog() = writeBlog.execute() }
・AppModule
モジュール
@Module class AppModule { @Provides @Singleton fun provideWriteBlog(): WriteBlog { return WriteBlog() } }
・AppComponent
@Singleton @Component( modules = [ AndroidInjectionModule::class, AppModule::class, ActivityBindingModule::class ] ) interface AppComponent : AndroidInjector<MyApplication> { }
これでDagger大体できるようになったんじゃないかな
後はボチボチ調べながらやっていこうと思います
関連記事:
- @ContributesAndroidInjectorを使ってActivityにDaggerでInjectする
- @Subcomponentを使ってActivityにDaggerでInjectする
- DaggerのAndroid Supportを使ってみた