Sobes.tech
Junior — Middle

Πώς να υλοποιήσετε ένα component Dagger στο έργο;

sobes.tech AI

Απάντηση από AI

Για την υλοποίηση ενός συστατικού Dagger σε ένα έργο Android, χρειάζεται:

  1. Να δημιουργήσετε μια διεπαφή σημειωμένη με @Component. Σε αυτήν τη διεπαφή δηλώνονται μέθοδοι για την παροχή εξαρτήσεων ή για την έγχυση εξαρτήσεων σε στόχους κλάσεις.

  2. Να ορίσετε modules με την ετικέτα @Module, που περιέχουν μεθόδους με την ετικέτα @Provides, που περιγράφουν πώς να δημιουργούνται οι εξαρτήσεις.

  3. Να αρχικοποιήσετε το συστατικό στον κώδικα, συνήθως μέσω μιας γεννημένης κλάσης, π.χ., 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 είναι διαθέσιμο για χρήση
    }
}