Junior — Middle
How to implement a Dagger component in a project?
sobes.tech AI
Answer from AI
To implement a Dagger component in an Android project, you need to:
-
Create an interface annotated with @Component. This interface declares methods for providing dependencies or injecting dependencies into target classes.
-
Define modules using the @Module annotation, which contain methods annotated with @Provides, describing how to create dependencies.
-
Initialize the component in code, usually through a generated class, for example, DaggerAppComponent.builder().build(), and use it for dependency injection.
Example:
@Component(modules = {NetworkModule.class})
public interface AppComponent {
void inject(MainActivity activity);
}
@Module
class NetworkModule {
@Provides
Retrofit provideRetrofit() {
return new Retrofit.Builder()
.baseUrl("https://api.example.com")
.build();
}
}
// In MainActivity
public class MainActivity extends AppCompatActivity {
@Inject
Retrofit retrofit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DaggerAppComponent.create().inject(this);
// Now retrofit is available for use
}
}