Sobes.tech
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 :

  1. 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.

  2. 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.

  3. 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
    }
}