Sobes.tech
Junior — Middle

Kuidas rakendada Dagger-komponenti projektis?

sobes.tech AI

Vastus AI-lt

Android projekti sees Dagger komponendi rakendamiseks on vaja:

  1. Luua liides, millele on märgitud @Component annotatsiooniga. Selles liideses deklareeritakse meetodid sõltuvuste pakkumiseks või sõltuvuste injekteerimiseks sihtklassidesse.

  2. Defineerida moodulid @Module annotatsiooniga, mis sisaldavad meetodeid @Provides annotatsiooniga, kirjeldades, kuidas sõltuvusi luua.

  3. Initsialiseerida komponent koodis, tavaliselt genereeritud klassi kaudu, näiteks DaggerAppComponent.builder().build(), ja kasutada seda sõltuvuste injekteerimiseks.

Näide:

@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-s
public class MainActivity extends AppCompatActivity {
    @Inject
    Retrofit retrofit;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        DaggerAppComponent.create().inject(this);
        // Nüüd on retrofit kasutamiseks valmis
    }
}