我需要在幾個地方使用相同的常量:
- 在 Android
strings.xmlXML 資源檔案中 - 在 Kotlin 源代碼中作為靜態字串(無法訪問背景關系)
我能怎么做?
我可以看到 3 種可能性,可能與否,但我不知道如何實作它們中的任何一個:
a) 在 中定義常量為資源strings.xml,并在源代碼中匯入。
XML:好的
<string name="my_constant">My.value</string>
問題:我不能在我的代碼中將它定義為靜態/常量,因為我需要一個背景關系來獲取它的值,例如。與context.getString(R.string.my_constant). 除非有另一種方法可以這樣做,但我還沒有找到。
科特林:?
companion object {
const val MY_CONSTANT = ??.getString(R.string.my_constant)
}
b) 在 Kotlin 源代碼中定義常量,并在 XML 資源檔案中匯入其值。
科特林:好的
companion object {
const val MY_CONSTANT = "My.value"
}
問題:我還沒有找到將值匯入strings.xml.
XML:?
<string name="my_constant" value="???"/>
c) 在 中定義常量build.gradle,在 XML 和 Kotlin 源代碼中匯入值。
問題:我只是不知道該怎么做,我已經嘗試過BuildConfig但無法在源代碼中獲取值。
等級:?
buildTypes {
all {
// does not seem correct:
buildConfigField 'String', 'MY_CONSTANT', '"My.value"'
}
release {
// ... other settings
}
}
XML: ? 科特林:?
companion object {
const val MY_CONSTANT = BuildConfig.MY_CONSTANT // does not work
}
uj5u.com熱心網友回復:
我通常這樣定義我的 API 常量
在 gradle.properties 中定義常量
API_KEY=""
然后在你的 build.gradle(Module)
defaultConfig {
buildConfigField("String", "API_KEY", API_KEY)
}
現在你應該可以從任何地方呼叫常量
BuildConfig.API_KEY
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/399196.html
上一篇:當我在pubspec.yaml中將better_playerflllutter包添加到我的依賴項時,應用程式無法運行
