美文网首页kotlin相关专题
Koin注入框架在Kotlin项目中的使用

Koin注入框架在Kotlin项目中的使用

作者: 则卷滔滔 | 来源:发表于2019-09-26 20:49 被阅读0次

koin注入架构主要的优点就是简洁,上手容易、使用方便,配合kotlin使用更佳,直接进入主题。

1.项目中引入koin依赖

// Koin for Android
implementation "org.koin:koin-android:2.0.1"  
// Koin Android ViewModel features
implementation "org.koin:koin-android-viewmodel:2.0.1" 

/ Koin AndroidX Scope features
implementation "org.koin:koin-androidx-scope:2.0.1"
// Koin AndroidX ViewModel features
implementation "org.koin:koin-androidx-viewmodel:2.0.1"

本文不讲解在viewmodel中的使用

2.创建module

    object MainModule {
        val mainModule = module {
            //单利
            single {
                DbService()
            }
            //指定注入范围
            scope(named<MainActivity>()) {
                scoped {
                    MainPresenter(get(), get())
                }
            }
        }
    }
    class MainPresenter(var context: Context, var dbService: DbService) : BasePresenter {
        fun getData(data: String) {
            Toast.makeText(context, dbService.getData(data), Toast.LENGTH_SHORT).show()
        }
    }

常用有 single: 单利 scope: 范围

3.在Application中初始化

    override fun onCreate() {
        super.onCreate()
        // Start Koin
        startKoin {
            androidLogger()
            androidContext(this@BaseApplication)
            modules(MainModule.mainModule) //需要初始化各个模块的module
        }
    }

4.使用

// lazy inject Koin instance
    val mPresenter : MainPresenter by inject()
    // or
    // eager inject Koin instance
    val mPresenter : MainPresenter get()

    var mPresenter : T? = null

    mPresenter = get()
    //or
    mPresenter = currentScope.get()

参考资料:
https://github.com/InsertKoinIO/koin
https://beta.insert-koin.io/docs/2.0/documentation/reference/index.html

具体实现项目Demo请移步github:https://github.com/liulilei/KotlinKoinDemo
如果对您有帮助,请动动手指点个star,谢谢!

相关文章

  • Koin注入框架在Kotlin项目中的使用

    koin注入架构主要的优点就是简洁,上手容易、使用方便,配合kotlin使用更佳,直接进入主题。 1.项目中引入k...

  • 深入理解Koin框架之koin-core

    深入理解Koin [toc] koin是使用kotlin编写的一款轻量级依赖注入(DI)框架,是Android开发...

  • android koin 的使用

    说明 Koin 是一个用于 Kotlin 的实用型轻量级依赖注入框架,采用纯 Kotlin 编写而成,仅使用功能解...

  • 使用 koin 作为 Android 注入工具,真香

    使用 koin 作为 Android 注入工具,真香 koin 为 Android 提供了简单易用的 API 接口...

  • Koin简单使用

    1.什么是Koin Koin是适用于Kotlin的轻量级注入工具。无代理、无代码生成、无反射,所以性能比较好。 注...

  • Kotlin Koin - 适用于初学者的 Android 教程

    在我们的项目中,我们已经多次使用依赖注入框架,例如 Dagger。 在这篇博客中,我们将了解 Koin,这是一个面...

  • 把玩Kotlin依赖注入框架Koin

    简要介绍 Koin是一个Kotin极轻量的依赖注入框架,据官方资料显示,它无代理,无代码生成,无反射。 把玩手法 ...

  • Kotlin之Koin

    Koin是一款轻量级的依赖注入框架,根据官方的描述,它无代理,无代码生成,无反射。 学过Dagger2的同学都深深...

  • # kotlin channel 入门

    kotlin channel 入门 前言 最近项目中对 kotlin 的使用比较多。不得不说 kotlin 确实...

  • Hilt入门

    Hilt 是什么 Hilt 是 Android 的依赖项注入库,可减少在项目中执行手动依赖项注入的样板代码。执行手...

网友评论

    本文标题:Koin注入框架在Kotlin项目中的使用

    本文链接:https://www.haomeiwen.com/subject/axbnuctx.html