Junior — Middle
Чӣ гуна истифода бурдани қайдҳо дар китобхонаи Dagger барои ворид кардани вобастагиҳо?
sobes.tech AI
Ҷавоб аз AI
У бібліятэцы Dagger для укаранення залежнасцей у Android выкарыстоўваюцца анатацыі, якія апісваюць, як ствараць і прадастаўляць аб'екты.
Асноўныя анатацыі:
@Inject— адзначае канструктар, поле або метад, у які Dagger павінен укараняць залежнасць.@Module— клас, які ўтрымлівае метады з анатацыяй@Provides, якія апісваюць, як ствараць пэўныя залежнасці.@Provides— анатуюць метад у модулі, які вяртае аб'ект залежнасці.@Component— інтэрфейс, які злучае модулі і месцы ўкаранення, генеруючы код для стварэння графа залежнасцей.
Прыклад выкарыстання:
@Module
class NetworkModule {
@Provides
OkHttpClient provideOkHttpClient() {
return new OkHttpClient.Builder().build();
}
}
@Component(modules = {NetworkModule.class})
interface AppComponent {
void inject(MainActivity activity);
}
public class MainActivity extends AppCompatActivity {
@Inject
OkHttpClient client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DaggerAppComponent.create().inject(this);
// Ҳоло, client дар Dagger оғоз шудааст
}
}
Ин навор, анатацыі дазваляюць Dagger аўтаматычна генерыраваць код для стварэння і перадачы залежнасцей, спрошчваючы іх кіраванне.