Koin-6-Android_ViewModel
https://start.insert-koin.io/#/quickstart/android-viewmodel
开始
Koin in 5 minutes (5分钟快速入手Koin)
Getting Started (开始)
在Android ViewModel application中使用
这个教程将会告诉你如何使用Koin注入和检索ViewModel组件来编写一个Android/Kotlin application。
Get the code
可以直接在Github上查看项目或者下载zip
🚀 Go to Github or download Zip
配置Gradle
通过如下方式添加 Koin Android 的依赖:
1 | // Add Jcenter to your repositories if needed |
我们的组件
让我们创建一个 HelloRepository
来提供一些数据:
1 | interface HelloRepository { |
让我们创建一个ViewModel类,来消费这些数据:
1 | class MyViewModel(val repo : HelloRepository) : ViewModel() { |
编写Koin module
使用 module
函数来声明一个module。让我们声明我们的第一个组件:
1 | val appModule = module { |
在一个 module
中,我们将我们的 MyViewModel
类声明成一个 viewModel
。Koin将会将这个 MyViewModel
交给Lifecycle ViewModelFactory并帮我们将它绑定到当前的组件上。
开始使用Koin
现在我们已经有了一个module,我们就可以使用Koin了。打开你的Application类,或者创建一个(不要忘了在你的Manifest.xml中声明它)。然后只需要调用 startKoin()
函数:
1 | class MyApplication : Application(){ |
注入依赖
MyViewModel
组件将会被通过 HelloRepository
实例所创建。为了在我们的Activity中获取到它,就需要使用 by viewModel()
委托注入器来注入它:
1 | class MyViewModelActivity : AppCompatActivity() { |
by viewModel()
函数允许我们从Koin中检索一个ViewModel实例,链接到Android ViewModelFactory。
getViewModel()
函数能非延迟的直接检索一个实例。