Back to questions
X5 Digital
Junior — Middle
63
Каким образом реализовать Dagger-компонент в проекте?
Companies where asked
Answer from AI
sobes.tech AI
Для реализации Dagger-компонента в Android-проекте нужно:
-
Создать интерфейс, помеченный аннотацией @Component. В этом интерфейсе объявляются методы для предоставления зависимостей или для внедрения зависимостей в целевые классы.
-
Определить модули с помощью аннотации @Module, которые содержат методы с аннотацией @Provides, описывающие, как создавать зависимости.
-
В коде инициализировать компонент, обычно через сгенерированный класс, например DaggerAppComponent.builder().build(), и использовать его для внедрения зависимостей.
Пример:
@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();
}
}
// В MainActivity
public class MainActivity extends AppCompatActivity {
@Inject
Retrofit retrofit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DaggerAppComponent.create().inject(this);
// Теперь retrofit доступен для использования
}
}