Dagger2でコンストラクタインジェクションした

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大体できるようになったんじゃないかな
後はボチボチ調べながらやっていこうと思います

関連記事:

Pocket