dependencies {
...
implementation 'com.google.dagger:hilt-android:2.X.X'
annotationProcessor 'com.google.dagger:hilt-compiler:2.X.X'
}
@HiltAndroidApp
public class MyApp extends Application {
...
}
public void onCreate() {
super.onCreate();
DaggerMyAppComponent.builder()
.application(this)
.build()
.inject(this);
}
public class UserRepository {
private final UserApi userApi;
private final DatabaseHelper databaseHelper;
@Inject
public UserRepository(UserApi userApi, DatabaseHelper databaseHelper) {
this.userApi = userApi;
this.databaseHelper = databaseHelper;
}
...
}
@Module
public class AppModule {
@Provides
public UserApi provideUserApi() {
return new UserApiImpl();
}
@Provides
public DatabaseHelper provideDatabaseHelper() {
return new DatabaseHelperImpl();
}
}
@HiltAndroidApp
@InstallIn(ApplicationComponent.class)
public class MyApp extends Application {
...
}
public class MainActivity extends AppCompatActivity {
@Inject
UserRepository userRepository;
...
}