groovy implementation 'com.google.dagger:dagger:2.x' annotationProcessor 'com.google.dagger:dagger-compiler:2.x' implementation 'com.google.dagger:dagger-android:2.x' implementation 'com.google.dagger:dagger-android-support:2.x' annotationProcessor 'com.google.dagger:dagger-android-processor:2.x' kotlin @ApplicationScope @Component(modules = [ApplicationModule::class]) interface ApplicationComponent { fun inject(application: MyApplication) } @Module class ApplicationModule(private val application: MyApplication) { @Provides fun provideContext(): Context { return application } } class MyApplication : Application() { lateinit var applicationComponent: ApplicationComponent override fun onCreate() { super.onCreate() applicationComponent = DaggerApplicationComponent.builder() .applicationModule(ApplicationModule(this)) .build() applicationComponent.inject(this) } } kotlin class MainActivity : AppCompatActivity() { @Inject lateinit var context: Context override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) (application as MyApplication).applicationComponent.inject(this) Toast.makeText(context, "Hello Dagger", Toast.LENGTH_SHORT).show() } }


上一篇:
下一篇:
切换中文