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:
-
Een interface maken die is gemarkeerd met @Component. In deze interface worden methoden gedeclareerd om afhankelijkheden te leveren of afhankelijkheden in doelklassen te injecteren.
-
Modules definiëren met de annotatie @Module, die methoden bevatten met @Provides, waarin wordt beschreven hoe afhankelijkheden worden gemaakt.
-
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
}
}