【问题标题】:Is it possible to build a project with Dynamic feature modules and Koin?是否可以使用动态功能模块和 Koin 构建项目?
【发布时间】:2018-11-22 09:43:27
【问题描述】:

我有一个包含不同模块的应用程序,但项目正在增长,我们需要将项目拆分为不同的动态功能模块,因为用户(可能)不需要所有功能。我的问题是 Koin 需要从 Application 类启动应用程序要加载的所有 koin 模块,但是从该类我不知道我必须加载哪些模块,并且 :app 模块不导入其他模块在 gradle 的依赖项中(其他模块必须实现 :app 模块)。 我的问题是,这是否是一种从 :app 中的 Activity 或其他加载的功能加载 Koin 模块的方法。

【问题讨论】:

    标签: android android-studio kotlin koin


    【解决方案1】:

    最后,阅读documentation,我找到了解决方案。除了将 startKoin 与我的所有功能模块一起使用之外,我可以在没有模块或基本模块的情况下使用 startKoin(...),然后在每个动态功能中使用 loadKoinModules(...) (more) 来加载它们的 koin 模块。 作为关于动态特性的提示,最好有一个带有入口点函数的接口,每个特性都实现该函数以仅启动一次模块。

    【讨论】:

    • 什么是加载模块的好入口?我的模块只包含一个活动和一些数据类,这些对我来说似乎不是很好的入口点。
    • 由于我的模块入口点正在启动其中包含的 Activity (medium.com/@kris1837/…),我正在 Activity 的 init 中加载 Koin 模块:init{ loadKoinModules(myModule) }
    猜你喜欢
    • 1970-01-01
    • 2019-12-04
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多