Android Dependency Injection (Hilt)
Priority: P0
1. Bootstrap Hilt
- Annotate
Applicationclass with@HiltAndroidApp. - Annotate Activities/Fragments with
@AndroidEntryPoint.
See module templates for bootstrap and module examples.
2. Define Modules
- Use
@Binds(abstract class) over@Provideswhen possible — generates smaller code. - Be explicit with
@InstallIn(SingletonComponent,ViewModelComponent).
See module templates for @Binds examples.
3. Prefer Constructor Injection
- Use
@Inject constructor(...)over field injection. - Use
@AssistedInjectfor runtime parameters.
Anti-Patterns
- No Manual Dagger Components: Use Hilt — it generates all the wiring.
- No Field Injection in Logic: Use constructor injection; field injection only in Android framework classes.