Junior — Middle
Comment implémenter un composant Dagger dans un projet?
sobes.tech IA
Réponse de l'IA
Pour implémenter un composant Dagger dans un projet Android, il faut :
-
Créer une interface annotée avec @Component. Dans cette interface, on déclare des méthodes pour fournir des dépendances ou pour injecter des dépendances dans des classes cibles.
-
Définir des modules avec l'annotation @Module, qui contiennent des méthodes annotées avec @Provides, décrivant comment créer des dépendances.
-
Initialiser le composant dans le code, généralement via une classe générée, par exemple DaggerAppComponent.builder().build(), et l'utiliser pour l'injection de dépendances.
Exemple :
@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();
}
}
// Dans MainActivity
public class MainActivity extends AppCompatActivity {
@Inject
Retrofit retrofit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DaggerAppComponent.create().inject(this);
// Retrofit est maintenant disponible pour utilisation
}
}