dependencies { implementation 'com.google.dagger:dagger:2.x' implementation 'com.google.dagger:dagger-android:2.x' annotationProcessor 'com.google.dagger:dagger-android-processor:2.x' annotationProcessor 'com.google.dagger:dagger-compiler:2.x' } public class App extends Application { private AppComponent appComponent; @Override public void onCreate() { super.onCreate(); appComponent = DaggerAppComponent.builder() .appModule(new AppModule(this)) .build(); } public AppComponent getAppComponent() { return appComponent; } } @Module public class AppModule { private Application application; public AppModule(Application application) { this.application = application; } @Provides @Singleton Application provideApplication() { return application; } } public class MainActivity extends AppCompatActivity { @Inject Application application; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ((App) getApplicationContext()) .getAppComponent() .inject(this); } } @Singleton @Component(modules = {AppModule.class}) public interface AppComponent { void inject(MainActivity activity); }


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