Sobes.tech
Назад к вопросам
Junior — Middle
64

Каким образом реализовать Dagger-компонент в проекте?

Компании, где спрашивали
X5 DigitalX5 Digital

Ответ от нейросети

sobes.tech AI

Для реализации Dagger-компонента в Android-проекте нужно:

  1. Создать интерфейс, помеченный аннотацией @Component. В этом интерфейсе объявляются методы для предоставления зависимостей или для внедрения зависимостей в целевые классы.

  2. Определить модули с помощью аннотации @Module, которые содержат методы с аннотацией @Provides, описывающие, как создавать зависимости.

  3. В коде инициализировать компонент, обычно через сгенерированный класс, например 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 доступен для использования
    }
}