როგორ შეიძლება განახორციელოთ საკუთარი კომპონენტი Hilt-ში დამოკიდებულებების ინექციისთვის?
sobes.tech AI
პასუხი AI-სგან
Hilt-ში თქვენი საკუთარი კომპონენტის შექმნისთვის:
-
განსაზღვრეთ
@DefineComponent-ით ანოტირებული კომპონენტის ინტერფეისი. მასში მითითებულია დამოკიდებულებები, რომლებიც ხელმისაწვდომი იქნება კომპონენტის შიგნით. -
შექმენით ანოტაცია, რათა დაკავშიროთ კომპონენტი სიცოცხლის ციკთან, გამოყენებით
@DefineComponent.Builderდა@Component.Builder. -
დაკავშირეთ შექმნილი კომპონენტი არსებული Hilt კომპონენტთან, გამოიყენეთ ანოტაცია
@DefineComponent(parent = ...), სადაც მითითებულია მშობელი კომპონენტი. -
შექმენით ანოტაცია, რათა ჩააგდოთ დამოკიდებულებები ამ კომპონენტში, გამოიყენეთ
@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()
}
ამ გზით შეგიძლიათ შექმნათ პერსონალიზებული კომპონენტები სასურველი სეგმენტით და უფრო მოქნილი მართოთ დამოკიდებულებები.