Я определил некоторые константы в котлине
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
. я получил
ошибка, у него есть частный доступ.Вы можете использовать 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;
Second Way
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
}
Теперь вы можете получить доступ к своей переменной const
следующим образом
Keys.SPLASH_DURATION;
Как решить:
Добавьте @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
}
Почему
Вы можете просто создать один файл констант, как на скриншоте выше.
И определите свое постоянное значение таким образом, не создавая никаких сопутствующих объектов, и получите к нему доступ через свои проекты.
ваши постоянные значения: -
const val SPLASH_DURATION : Long = 5000
const val READ_TIMEOUT : Int = 200
const val CONNECTION_TIMEOUT : Int = 200
const val WRITE_TIMEOUT : Int = 200
И если вы хотите создать объект-компаньон, вы также можете сделать это в КОТЛИН
для например -
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