我已经在kotlin中定义了一些常量
object Keys {
const val SPLASH_DURATION : Long = 5000
const val READ_TIMEOUT : Int = 200
const val CONNECTION_TIMEOUT : Int = 200
const val WRITE_TIMEOUT : Int = 200
var BASE_URL = BuildConfig.SERVER_KEY
}
Keys.BASE_URL
的形式访问Java类中的BASE_URL。我懂了
错误,它具有私有访问权限。答案 0 :(得分:3)
您可以使用Companion Objects
companion
关键字标记类内的对象声明:尝试这种方式
class Keys {
companion object {
const val SPLASH_DURATION : Long = 5000
const val READ_TIMEOUT : Int = 200
const val CONNECTION_TIMEOUT : Int = 200
const val WRITE_TIMEOUT : Int = 200
}
}
现在您可以像这样访问const
变量
Keys.CONNECTION_TIMEOUT;
答案 1 :(得分:0)
如何解决:
添加@JvmField
示例:
object Keys {
const val SPLASH_DURATION : Long = 5000
const val READ_TIMEOUT : Int = 200
const val CONNECTION_TIMEOUT : Int = 200
const val WRITE_TIMEOUT : Int = 200
@JvmField
var BASE_URL = BuildConfig.SERVER_KEY
}
为什么
答案 2 :(得分:0)
您可以只创建一个常量文件,如上面的屏幕截图一样。
并像这样定义常量值,而无需创建任何伴随对象,并在整个项目中对其进行访问。
您的常量值:-
const val SPLASH_DURATION : Long = 5000
const val READ_TIMEOUT : Int = 200
const val CONNECTION_TIMEOUT : Int = 200
const val WRITE_TIMEOUT : Int = 200
如果您要制作伴侣对象,还可以在 KOTLIN
中进行例如-
class Keys {
companion object {
const val SPLASH_DURATION : Long = 5000
const val READ_TIMEOUT : Int = 200
const val CONNECTION_TIMEOUT : Int = 200
const val WRITE_TIMEOUT : Int = 200
}
}
并以这种方式获取它-
Keys.READ_TIMEOUT