学习Kodein(一)

Kodein是什么?

在网上关于它的资料并不是很多,这也证明它现在并不是很完善,之所以要写一系列关于Kodein的文章是为保证自己要一直学习新鲜事物。
下面我们着重介绍一下它的作用是什么?相信大家Dagger2这个框架已经用得很熟了,这里不在花篇幅去介绍Dagger2的好处,Kodein就是Dagger2的替代方案,它更加Kotlin

  1. 我们去官网地址下载相关依赖
implementation 'org.kodein.di:kodein-di-generic-jvm:6.5.0'
implementation 'org.kodein.di:kodein-di-framework-android-???:6.5.0'

可选择替换???
kodein-di-framework-android-x
kodein-di-framework-android-support
kodein-di-framework-android-core

我的工程是androidx的所以引入的代码是这样的

implementation 'org.kodein.di:kodein-di-generic-jvm:6.5.0'
implementation 'org.kodein.di:kodein-di-framework-android-x:6.5.0'
  1. 下面我们看下如何实现Kodein只需2步即可

第一步

首先我们定义一个Module类,生成一个随机数的实例对象。
object Module{
    val kodein = Kodein {
        bind<Random>() with provider {
            Random(100)
        }
    }
}

第二步

定义一个User类,声明一个random常量,使用通过构造函数传进来的kodein对象实例化这个random,接下来我们定义一个test函数,调用random的方法。
class User(kodein: Kodein) {
    val random: Random by kodein.instance()
    fun test() {
        println("----------hexl: ${random.nextInt()}")
    }
}
  1. 在MainActivity中调用即可
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        User(kodein).test()
    }

over,下一篇我们学习Kodein如何在Android中使用!!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值