Junior — Middle
Kuidas rakendada Dagger-komponenti projektis?
sobes.tech AI
Vastus AI-lt
Android projekti sees Dagger komponendi rakendamiseks on vaja:
-
Luua liides, millele on märgitud @Component annotatsiooniga. Selles liideses deklareeritakse meetodid sõltuvuste pakkumiseks või sõltuvuste injekteerimiseks sihtklassidesse.
-
Defineerida moodulid @Module annotatsiooniga, mis sisaldavad meetodeid @Provides annotatsiooniga, kirjeldades, kuidas sõltuvusi luua.
-
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
}
}