Hogyan lehet saját komponenst megvalósítani a Hilt-ben a függőségek injektálására?
sobes.tech MI
Válasz az MI-től
A saját komponensed létrehozásához Hilt-ben:
-
Határozz meg egy
@DefineComponent-tel annotált komponens interfészt. Ebben jelölöd meg azokat az függőségeket, amelyek elérhetőek lesznek a komponensen belül. -
Hozz létre egy annotációt a komponens életciklusához való kötéshez, a
@DefineComponent.Builderés@Component.Builderhasználatával. -
Kösd össze a létrehozott komponenst egy meglévő Hilt komponenssel a
@DefineComponent(parent = ...)annotáció segítségével, ahol a szülőkomponenst megadod. -
Hozz létre egy annotációt a függőségek injektálásához ebbe a komponensbe a
@EntryPointvagy@InstallIn(YourCustomComponent.class)használatával.
Példa:
@DefineComponent(parent = SingletonComponent::class)
interface CustomComponent
@DefineComponent.Builder
interface CustomComponentBuilder {
fun build(): CustomComponent
}
@InstallIn(CustomComponent::class)
@Module
class CustomModule {
@Provides
fun provideSomething(): Something = Something()
}
Így saját, testreszabott komponenseket hozhatsz létre a kívánt hatókörrel, és rugalmasabban kezelheted a függőségeket.