- build.gradle
buildscript {
ext.kotlin_version = '1.4.10'
ext.koin_version = '2.1.6'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.koin:koin-gradle-plugin:$koin_version"
}
}
- app/build.gradle
dependencies {
implementation "org.koin:koin-android:$koin_version"
implementation "org.koin:koin-androidx-scope:$koin_version"
implementation "org.koin:koin-androidx-viewmodel:$koin_version"
}
- MainActivity
class MainActivity : AppCompatActivity() {
private val viewModel: MainViewModel by viewModel()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
supportFragmentManager.beginTransaction()
.replace(R.id.content_layout, MainFragment())
.commit()
}
}
- MainFragment
class MainFragment : Fragment() {
private val viewModel by sharedViewModel<MainViewModel>()
...
}