Koin-3-Kotlin
https://start.insert-koin.io/#/quickstart/kotlin?id=getting-started-with-kotlin-app
开始
Koin in 5 minutes (5分钟快速入手Koin)
Getting Started (开始)
在Kotlin app中使用
本教程将会告诉你如何使用Koin注入和检索组件来编写一个Kotlin app。
获取实例代码
可以直接在Github上查看项目或者下载zip
🚀 Go to Github or download Zip
配置
首先,检查下 koin-core
依赖是不是按照如下形式添加了:
1 | // Add Jcenter to your repositories if needed |
Application
在我们的小型App上,我们只需要有2个组件:
- HelloMessageData - 持有数据(data)
- HelloService - 使用和显示HelloMessageData上的数据
- HelloApplication - 检索和使用HelloService
Data holder
让我们创建一个 HelloMessageData
数据类来持有我们的数据:
1 | /** |
Service
让我们创建一个service来显示 HelloMessageData
中的数据。写一个 HelloServiceImpl
类以及他的接口 HelloService
:
1 | /** |
The application class
为了让HelloService组件能运行,我们还需要创建一个runtime组件。
让我们写一个 HelloApplication
类并让他实现 KoinComponent
接口。这能让我们稍后可以通过 by inject()
函数来检索我们的组件:
1 | /** |
声明依赖
现在,让我们使用Koin module来将 HelloMessageData
和 HelloService
组装在一起:
1 | val helloModule = module { |
我们使用 single
来将每一个组件声明成单例对象。
single { HelloMessageData() }
: 声明一个单例的HelloMessageData
对象single { HelloServiceImpl(get()) as HelloService }
: 使用注入的HelloMessageData
来构造HelloServiceImpl
对象,并声明成HelloService
的单例对象。
这就完成啦!
只需要通过一个 main
函数来启动我们的app:
1 | fun main(vararg args: String) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小柯基!