android koin 的使用

说明

Koin 是一个用于 Kotlin 的实用型轻量级依赖注入框架,采用纯 Kotlin 编写而成,仅使用功能解析,无代理、无代码生成、无反射。

Koin 是一个 DSL,一个轻便的容器和一个实用的 API。

创建一个kotlin 项目

添加koin

    def koin_version = "3.2.1"
    implementation "io.insert-koin:koin-core:$koin_version"
    testImplementation "io.insert-koin:koin-test:$koin_version"

添加hello 代码

image.png
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val helloModule = module {

            singleOf(::HelloMessageData)

            singleOf(::HelloServiceImpl) { bind() }
        }

        startKoin {
            // use Koin logger
            printLogger()
            // declare modules
            modules(helloModule)
        }

        App().sayHello()

    }

数据来源

class HelloMessageData {
    val message: String = "Hello Koin!"
}

打印

class HelloServiceImpl(private val helloMessageData: HelloMessageData) : HelloService {
    override fun hello() = "Hey, ${helloMessageData.message}"
}

运行结果


image.png

demo two

Add KSP in your root Gradle config:

你可能感兴趣的:(android koin 的使用)