我只能在Appmodule中获取属性(“SERVICE”)。在Activity,Fragment,ViewModel和Service中,不能使用getProperty。
测试版有变化吗?
如果我们检查KoinComponent的src代码,我们会看到返回Koin实例的'getKoin()'函数。在Koin class的src代码中,我们找到了所需的'getProperty'
请参阅下面的简单用例
import org.koin.Logger.slf4jLogger
import org.koin.core.KoinComponent
import org.koin.core.context.startKoin
import org.slf4j.LoggerFactory
class Runner : KoinComponent {
val logger = LoggerFactory.getLogger("entry")
companion object {
@JvmStatic
fun main(args: Array<String>) {
startKoin {
slf4jLogger()
fileProperties()
modules()
}
val runner = Runner()
runner.initVals()
}
}
fun initVals() {
logger.info("koin is go")
val url: String? = getKoin().getProperty("SERVER_URL")
logger.info("koin properties is go ${url}")
}
}
// koin.properties in src/main/resources
SERVER_URL=https://some_server_url