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

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

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

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

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

آموزش 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
}

 

موافقین ۰ مخالفین ۰ ۰۲/۰۹/۰۲
میم دال

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی