DANFA

Kotlin: Хранилище конфигурационных переменных

В Kotlin/Android есть несколько способов организовать централизованное хранение конфигурационных переменных.

Ресурсные файлы (values)


Создайте файл в "res/values/strings.xml":
<resources>
    <string name="api_url">https://api.example.com</string>
    <integer name="timeout">30000</integer>
    <bool name="debug_mode">true</bool>
</resources>

Доступ через: R.string.api_url.

Константы в отдельном файле


Создайте файл "Config.kt":
object Config {
    const val API_URL = "https://api.example.com"
    const val TIMEOUT = 30000
    const val DEBUG_MODE = true
}

Доступ: Config.API_URL.

BuildConfig


Настройте в "build.Gradle":
buildTypes {
    debug {
        buildConfigField "String", "API_URL", "\"https://api.example.com\""
    }
    release {
        buildConfigField "String", "API_URL", "\"https://api.prod.com\""
    }
}

Доступ: BuildConfig.API_URL.

Application-класс


Создайте в "Application":
class MyApp: Application() {
    companion object {
        lateinit var API_URL: String
    }
    
    override fun onCreate() {
        super.onCreate()
        API_URL = "https://api.example.com"
    }
}

Доступ: MyApp.API_URL.

Environment Variables


  • Для серверной разработки.
  • Хранятся в .env файле.
  • Используются через библиотеки типа "kotlin-dotenv".

Рекомендации по выбору


  • Для простых строковых констант — "strings.XML".
  • Для глобальных констант приложения — "Config.kt".
  • Для разных окружений — "BuildConfig".
  • Для сложных конфигураций — "Application-класс".

Важно


  • Избегайте хардкода в коде.
  • Группируйте связанные настройки.
  • Используйте осмысленные названия.
  • Документируйте назначение переменных.


Автор:  03.02.2026 09:38:54 am