您当前的位置: 首页 >  kotlin

蓝不蓝编程

暂无认证

  • 0浏览

    0关注

    706博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

把玩Kotlin依赖注入框架Koin

蓝不蓝编程 发布时间:2019-04-19 10:39:38 ,浏览量:0

简要介绍

Koin是一个Kotin极轻量的依赖注入框架,据官方资料显示,它无代理,无代码生成,无反射。

把玩手法
  1. 添加依赖
//Koin for android
implementation "org.koin:koin-android:2.0.0-rc-1"
//Koin for scope feature
implementation "org.koin:koin-android-scope:2.0.0-rc-1"
//Koin for viewModel feature
implementation "org.koin:koin-android-viewmodel:2.0.0-rc-1"
  1. 添加正常的业务逻辑相关类(与Koin无关)
interface UserRepo {
    fun getName(): String
}
class UserRepoImpl : UserRepo {
    override fun getName(): String {
        return "jerry"
    }
}
class UserPresenter(val repo: UserRepo) {
    fun sayHi() = "Hi,${repo.getName()}"
}
  1. 添加module(敲黑板啦,伴侣关系就是在这里建立的,相守一生,哈哈)
val appModule = module {
    single { UserRepoImpl() }
    factory { UserPresenter(get()) }
}
  1. 通知boss,初始化
class App : Application() {
    override fun onCreate() {
        super.onCreate()
        startKoin {
            androidLogger()
            androidContext(this@App)
            modules(appModule)
        }
    }
}
  1. 随便玩
  • 玩法一
class MainActivity : AppCompatActivity() {
    private val userPresenter: UserPresenter by inject()
    override fun onCreate(savedInstanceState: Bundle?) {
        val msg = userPresenter.sayHi()
    }
}
  • 玩法二,随便get都行
val userPresenter: UserPresenter = get()
val msg = userPresenter.sayHi()
Demo源代码

https://github.com/cxyzy1/koinDemo

介绍完毕,诸君随意.

附录

官网介绍: https://beta.insert-koin.io/docs/2.0/getting-started/introduction/

安卓开发技术分享: https://blog.csdn.net/yinxing2008/article/details/84555061 点击关注专栏,查看最新技术分享 更多技术总结好文,请关注:「程序园中猿」

关注
打赏
1639405877
查看更多评论
立即登录/注册

微信扫码登录

0.0383s