Sobes.tech
Junior — Middle

Hogyan valósítsuk meg a Dagger-komponenst a projektben?

sobes.tech MI

Válasz az MI-től

A Dagger-komponens Android-projektben történő megvalósításához a következőkre van szükség:

  1. Hozzon létre egy @Component annotációval ellátott interfészt. Ebben az interfészben deklarálják a függőségek biztosítására vagy a célosztályokba történő injektálására szolgáló módszereket.

  2. Határozzon meg modulokat @Module annotációval, amelyek @Provides annotált módszereket tartalmaznak, és leírják, hogyan hozzuk létre a függőségeket.

  3. A kódban inicializálja a komponenst, általában egy generált osztályon keresztül, például DaggerAppComponent.builder().build(), és használja fel a függőségek injektálására.

Példa:

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

// A MainActivity-ben
public class MainActivity extends AppCompatActivity {
    @Inject
    Retrofit retrofit;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        DaggerAppComponent.create().inject(this);
        // Most a retrofit elérhető a használatra
    }
}