В моем случае я использую SharedPreferences (ключ-значение) для сохранения пользовательской информации, такой как токены безопасности и пользовательские данные. Но если вам нужно сохранить некоторые статические данные, такие как api url, ключи api для использования некоторых служб в вашем приложении, вы можете использовать resValues в build.gradle (где вы ставите свои зависимости).
ПримерsharedPreferences:
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0);
Editor editor = pref.edit();
editor.putString("key_name", "string value"); // Storing string
val content = pref.getString("key_name", null); // getting String
Пример сохранения статических данных в gradle:
buildTypes {
debug {
resValue "string", "url_api", "http://test.api.org/"
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
resValue "string", "url_api", "https://production.api.org/"
}
}
И когда мне нужно вызвать этот URL с помощью модернизации, я использую эту строкукода:
val example = Retrofit.Builder()
.client(okHttpClient)
.baseUrl(application.getString(R.string.url_api)) // using resvalue from gradle
.addCallAdapterFactory(CoroutineCallAdapterFactory())
.build()
.create(ApropoApi::class.java)
для разработки Я могу использовать отладочную переоценку, и после публикации моего приложения оно использует переиздание выпусков.
В зависимости от вашей бизнес-логики, вы должны решить, что использовать.