Sobes.tech
Junior — Middle

როგორ შეიძლება განახორციელოთ საკუთარი კომპონენტი Hilt-ში დამოკიდებულებების ინექციისთვის?

sobes.tech AI

პასუხი AI-სგან

Hilt-ში თქვენი საკუთარი კომპონენტის შექმნისთვის:

  1. განსაზღვრეთ @DefineComponent-ით ანოტირებული კომპონენტის ინტერფეისი. მასში მითითებულია დამოკიდებულებები, რომლებიც ხელმისაწვდომი იქნება კომპონენტის შიგნით.

  2. შექმენით ანოტაცია, რათა დაკავშიროთ კომპონენტი სიცოცხლის ციკთან, გამოყენებით @DefineComponent.Builder და @Component.Builder.

  3. დაკავშირეთ შექმნილი კომპონენტი არსებული Hilt კომპონენტთან, გამოიყენეთ ანოტაცია @DefineComponent(parent = ...), სადაც მითითებულია მშობელი კომპონენტი.

  4. შექმენით ანოტაცია, რათა ჩააგდოთ დამოკიდებულებები ამ კომპონენტში, გამოიყენეთ @EntryPoint ან @InstallIn(YourCustomComponent.class).

მაგალითი:

@DefineComponent(parent = SingletonComponent::class)
interface CustomComponent

@DefineComponent.Builder
interface CustomComponentBuilder {
    fun build(): CustomComponent
}

@InstallIn(CustomComponent::class)
@Module
class CustomModule {
    @Provides
    fun provideSomething(): Something = Something()
}

ამ გზით შეგიძლიათ შექმნათ პერსონალიზებული კომპონენტები სასურველი სეგმენტით და უფრო მოქნილი მართოთ დამოკიდებულებები.