dependencies { ... implementation 'com.google.dagger:dagger:2.x' annotationProcessor 'com.google.dagger:dagger-compiler:2.x' } public class MainActivity extends AppCompatActivity { @Inject ApiService apiService; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); DaggerAppComponent.create().inject(this); } } @Component(modules = {ApiModule.class}) public interface AppComponent { void inject(MainActivity activity); } @Module public class ApiModule { @Provides ApiService provideApiService() { return new ApiService(); } } public class ApiService { } @Singleton @Component(modules = {AppModule.class}) public interface AppComponent { void inject(MyApplication application); ApiService apiService(); } @Module public class AppModule { private final MyApplication application; public AppModule(MyApplication application) { this.application = application; } @Provides @Singleton MyApplication provideApplication() { return application; } @Provides @Singleton ApiService provideApiService() { return new ApiService(); } } public class MyApplication extends Application { private AppComponent appComponent; @Override public void onCreate() { super.onCreate(); appComponent = DaggerAppComponent.builder().appModule(new AppModule(this)).build(); } public AppComponent getAppComponent() { return appComponent; } }


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