آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

۳ مطلب با موضوع «آموزش hilt» ثبت شده است

.

۰ نظر موافقین ۰ مخالفین ۰ ۱۶ آذر ۰۲ ، ۱۷:۴۴
میم دال

انوتیشن Binds@

از این انوتیشن فقط برای تزریق اینترفیس استفاده میشه. در کل استفاده از چندان توصیه نمیشه.

اگر اینترفیس زیر رو داشته باشیم:

 

interface SomeInterface{
    fun getAllThings() : String
}

و کلاس زیر اون رو پیاده سازی کرده باشه:

 

class SomeInterfaceImpl @Inject constructor() : SomeInterface{
    override fun getAllThings(): String {
        return "A Thing"
    }
}

در این صورت کلاس ماژول حتما باید از نوع abstract باشه و خود متد تزریق هم باید از نوع abstract باشه:

 

@Module
@InstallIn(ActivityComponent::class)
abstract class MyModule{

    @Binds
    @ActivityScoped
    abstract fun bindSomeDependency(
        someImpl : SomeInterfaceImpl
    ) : SomeInterface
}

 

۰ نظر موافقین ۰ مخالفین ۰ ۰۲ آذر ۰۲ ، ۱۶:۲۱
میم دال

معرفی انوتیشن های hilt:

1. ابتدا می بایست کلاس application را اکستند کرده و انوتیشن زیر را قبل از معرفی کلاس بنویسیم:

HiltAndroidApp@

2. استفاده از انوتیشن زیر به معنی این است که میشه در این کلاس آبجکت inject کرد:

AndroidEntryPoint@

 

3. استفاده از Inject@ در کانستراکتور یک کلاس به این معنی است که شی این کلاس تزریق خواهد شد. به صورت زیر:

 

class MyClass @Inject constructor(وابستگی ها)  { }

 

در این کلاس اگر وابستگی وجود داشته باشه و در کلاس module وابستگی ها تعریف شده باشن، وابستگی ها تزریق میشن.

 

4. برای تزریق context قبلش از انوتیشن ApplicationContext@ استفاده میکنیم.

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۲۴ آبان ۰۲ ، ۰۴:۱۱
میم دال