gradle
dependencies {
implementation 'com.google.dagger:dagger:2.35.1'
implementation 'com.google.dagger:dagger-android:2.35.1'
implementation 'com.google.dagger:dagger-android-support:2.35.1'
annotationProcessor 'com.google.dagger:dagger-android-processor:2.35.1'
annotationProcessor 'com.google.dagger:dagger-compiler:2.35.1'
}
@Component(modules = {AppModule.class})
public interface AppComponent {
void inject(MyApplication application);
}
@Module
public class AppModule {
private final MyApplication application;
public AppModule(MyApplication application) {
this.application = application;
}
@Provides
@Singleton
Context provideApplicationContext() {
return application;
}
}
public class MyApplication extends DaggerApplication {
@Override
protected AppComponent createAppComponent() {
return DaggerAppComponent.builder()
.appModule(new AppModule(this))
.build();
}
@Override
public void onCreate() {
super.onCreate();
}
}
public class MainActivity extends AppCompatActivity {
@Inject
Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}