1.源码地址
1.源码地址
2.作用
1.让代码看起来更简洁
现在是这样创建对象的
2.解耦
我们有一个类,然后有100个地方使用它,这个时候如果我们要修改构造参数,加入一个参数,那么我们就要修改100个地方;如果过了一个月后,然后有要添加参数,这个时候就又要修改100个地方。而有了它,我们只需要修改你一个地方即可
3.
4.
5.
6.
3.使用
1.简单使用
1.依赖
根build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
kotlin_version = "1.6.21"
koin_version = "3.2.0"
}
repositories {
mavenLocal()
mavenCentral()
google()
}
}
plugins {
id 'com.android.application' version '7.2.1' apply false
id 'com.android.library' version '7.2.1' apply false
id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
id 'org.jetbrains.kotlin.jvm' version '1.6.10' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
app的build.gradle
implementation "io.insert-koin:koin-android:$koin_version"
2.类的实际初始化
AppMudule.kt
初始化UserRepositoryImpl(接口为UserRepository),UserPresenter(参数为UserRepository)
package com.cniao5.koin.di
import com.cniao5.koin.UserPresenter
import com.cniao5.koin.UserRepository
import c