Skip to content

This repository shows how to set up an Android project using Dagger

Notifications You must be signed in to change notification settings

thuongleit/dagger-sample

Repository files navigation

This repository shows how to set up an Android project using Dagger.

Features

  • Default dependency injection (DI) setup

checkout master

checkout branch dagger-view-model

checkout branch dagger-retrofit

checkout branch dagger-work-manager

How to add new activity/fragment to DI

Activity:

  • Add an activity, implements HasSupportFragmentInjector
class MainActivity : AppCompatActivity(), HasSupportFragmentInjector {

    @Inject
    lateinit var repository: SampleRepository

    @Inject
    lateinit var dispatchingAndroidInjector: DispatchingAndroidInjector<Fragment>

    override fun supportFragmentInjector() = dispatchingAndroidInjector
}
  • Register the activity to AndroidInjector in ActivityModule
@ContributesAndroidInjector(modules = [FragmentBuildersModule::class])
abstract fun contributeMainActivity(): MainActivity

Fragment

  • Add a fragment, implements Injectable
class MainFragment : Fragment(), Injectable {
}
  • Register the fragment in FragmentBuildersModule
@ContributesAndroidInjector
abstract fun contributeMainFragment(): MainFragment

Credit

This project is extracted and modified from GithubBrowserSample.

About

This repository shows how to set up an Android project using Dagger

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages