dependencies {
implementation 'com.google.dagger:dagger:2.x'
annotationProcessor 'com.google.dagger:dagger-compiler:2.x'
}
@Component
public interface AppComponent {
void inject(MyApplication application);
ApiService getApiService();
}
public class MyApplication extends Application {
private AppComponent appComponent;
@Override
public void onCreate() {
super.onCreate();
appComponent = DaggerAppComponent.create();
appComponent.inject(this);
}
public AppComponent getAppComponent() {
return appComponent;
}
}
public class MyFragment extends Fragment {
@Inject
ApiService apiService;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
((MyApplication) getActivity().getApplication()).getAppComponent().inject(this);
}
}