Sobes.tech
Junior — Middle

Кадом анотацияҳо дар Hilt барои дохил кардани синфҳо ба графи вобастагӣ истифода мешаванд?

sobes.tech AI

Ҷавоб аз AI

Дар Hilt, зследующие асосӣ аннотацияҳо барои дохил кардани синфҳо ба графи вобастагиҳо истифода мешаванд:

  • @Inject — конструктор, майдон ё усулро нишон медиҳад, то Hilt метавонад вобастагиро таъмин кунад.

  • @Module — синфро нишон медиҳад, ки вобастагиро тавассути усулҳои бо @Provides нишонёфта таъмин мекунад.

  • @InstallIn — нишон медиҳад, ки модул дар кадом компонент (масалан, SingletonComponent, ActivityComponent) насб мешавад.

  • @Singleton ва дигар scope-ҳо — давраи зиндагии вобастагиро муайян мекунанд.

Масалан:

@Module
@InstallIn(SingletonComponent::class)
object NetworkModule {
    @Provides
    @Singleton
    fun provideApiService(): ApiService {
        return Retrofit.Builder()
            .baseUrl("https://example.com")
            .build()
            .create(ApiService::class.java)
    }
}

class Repository @Inject constructor(private val apiService: ApiService) {
    // ...
}

Аз ин рӯ, @Inject ва @Module бо @InstallIn асосӣ аннотацияҳо барои дохил кардани синфҳо ба графи вобастагиҳо дар Hilt мебошанд.