Sobes.tech
Junior — Middle

Hoe implementeer je een Dagger-component in een project?

sobes.tech AI

Antwoord van AI

Om een Dagger-component in een Android-project te implementeren, moet je:

  1. Een interface maken die is gemarkeerd met @Component. In deze interface worden methoden gedeclareerd om afhankelijkheden te leveren of afhankelijkheden in doelklassen te injecteren.

  2. Modules definiëren met de annotatie @Module, die methoden bevatten met @Provides, waarin wordt beschreven hoe afhankelijkheden worden gemaakt.

  3. In de code de component initialiseren, meestal via een gegenereerde klasse, bijvoorbeeld DaggerAppComponent.builder().build(), en deze gebruiken voor afhankelijkheidsinjectie.

Voorbeeld:

@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);
        // Nu is retrofit beschikbaar voor gebruik
    }
}