
回复
本项目是基于开源项目InsertKoinIO/koin进行适用OHOS的移植和开发的, 可通过github地址https://github.com/InsertKoinIO/koin 追踪到原项目
koin是一个实用型轻量级依赖注入框架
在根目录的build.gradle
文件中添加mavenCentral()
:
在你的项目中添加依赖
1.如果只使用koin相关api,则可以只引入核心库
2.如果要使用hos的相关特性,则可以引入以下内容
下面的示例展示了通过koin注册和解析模块
在该示例中:
HelloMessageData
- 数据持有者HelloService
- 使用和展示来自HelloMessageData
中的数据HelloApplication
- 解析和使用HelloService
先创建HelloMessageData
用于存储需要展示的数据
创建用于展示HelloMessageData
数据的类。HelloServiceImpl
类实现了接口HelloService
:
要运行HelloService
组件,需要创建一个运行时组件。 现在创建HelloApplication
实现了KoinComponent
接口。 稍后可以使用inject
来解析需要的组件
现在,通过Koin的module,我们将HelloMessageData
和HelloService
关联起来:
这个示例中的两个组件都是以single
模式声明,即两个组件都是单例模式。
module.single(HelloMessageData.class,...)
:声明一个HelloMessageData
的单例模式的实例module.single(HelloService.class,...)
:声明一个HelloService
的单例模式,其实例为HelloServiceImpl
,并将HelloMessageData
注入其中我们可以在main中去使用刚才注册的模块:
examples
quickstart_hos
hos_samples
Tag 3.0.2