Sobes.tech
Junior — Middle

Como implementar um componente Dagger no projeto?

sobes.tech IA

Resposta da IA

Para implementar um componente Dagger num projeto Android, é necessário:

  1. Criar uma interface anotada com @Component. Nesta interface, declare métodos para fornecer dependências ou para injetar dependências nas classes alvo.

  2. Definir módulos com a anotação @Module, que contêm métodos anotados com @Provides, descrevendo como criar dependências.

  3. No código, inicializar o componente, geralmente através de uma classe gerada, por exemplo, DaggerAppComponent.builder().build(), e usá-lo para injeção de dependências.

Exemplo:

@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();
    }
}

// Em MainActivity
public class MainActivity extends AppCompatActivity {
    @Inject
    Retrofit retrofit;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        DaggerAppComponent.create().inject(this);
        // Agora o retrofit está disponível para uso
    }
}