Junior — Middle
Πώς να υλοποιήσετε ένα component Dagger στο έργο;
sobes.tech AI
Απάντηση από AI
Για την υλοποίηση ενός συστατικού Dagger σε ένα έργο Android, χρειάζεται:
-
Να δημιουργήσετε μια διεπαφή σημειωμένη με @Component. Σε αυτήν τη διεπαφή δηλώνονται μέθοδοι για την παροχή εξαρτήσεων ή για την έγχυση εξαρτήσεων σε στόχους κλάσεις.
-
Να ορίσετε modules με την ετικέτα @Module, που περιέχουν μεθόδους με την ετικέτα @Provides, που περιγράφουν πώς να δημιουργούνται οι εξαρτήσεις.
-
Να αρχικοποιήσετε το συστατικό στον κώδικα, συνήθως μέσω μιας γεννημένης κλάσης, π.χ., DaggerAppComponent.builder().build(), και να το χρησιμοποιήσετε για την έγχυση εξαρτήσεων.
Παράδειγμα:
@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
public class MainActivity extends AppCompatActivity {
@Inject
Retrofit retrofit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DaggerAppComponent.create().inject(this);
// Τώρα το retrofit είναι διαθέσιμο για χρήση
}
}