美文网首页
Koin 如何实现fragment与activity之前通信

Koin 如何实现fragment与activity之前通信

作者: 伽蓝烟雨 | 来源:发表于2021-11-17 14:36 被阅读0次

最近由于项目改造,由MVP模式改为了MVVM模式,另外项目中使用到了组件化的架构。碰到很多问题简单阐述下:

Koin 基础的注入

val loginModel = module {
    single {
        RetrofitManager.instance.create(HttpConstants.ROOT_API, LoginApi::class.java)
    }
    single {
        LoginRepository(get())
    }

    viewModel {
        LoginViewModel(androidApplication(), get())
    }

    viewModel {
        RegisterViewModel(androidApplication(),get())
    }
}

application里面的开始初始化

        startKoin{
//            androidLogger(Level.DEBUG)
            androidContext(this@LoginApplication)
            modules(loginModel)
        }

进阶的一些使用

在 Activity/Fragments 之间共享 ViewModel

class RegisterActivity : BaseActivity() {
  val viewModel: RegisterViewModel by viewModel()
}
class AFragment : BaseFragment() {
 val viewModel: RegisterViewModel by sharedViewModel()
}
class BFragment : BaseFragment() {
 val viewModel: RegisterViewModel by sharedViewModel()
}

相关文章

网友评论

      本文标题:Koin 如何实现fragment与activity之前通信

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