Сохранение ключа API в gradle.propertiesAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Сохранение ключа API в gradle.properties

Сообщение Anonymous »

Я новичок в Android и работаю над проектом, в котором я вижу, что полученный мной ключ API сохранен в gradle.properties как:

Код: Выделить всё

MyOpenWeatherMapApiKey="1c3ae96f93a0094e8a7chsjdgfid04aed3f10"
А затем в build.gradle(module:app) я добавляю следующие строки:

Код: Выделить всё

buildTypes.each {
it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', MyOpenWeatherMapApiKey
}
Итак, в моей основной программе я получаю доступ к данным с помощью этого API, URL-адрес которого получен с помощью этого фрагмента кода:

Код: Выделить всё

final String FORECAST_BASE_URL = "http://api.openweathermap.org/data/2.5/forecast/daily?";
final String QUERY_PARAM = "q";
final String FORMAT_PARAM = "mode";
final String UNITS_PARAM = "units";
final String DAYS_PARAM = "cnt";
final String APPID_PARAM = "APPID";
Uri builtUri = Uri.parse(FORECAST_BASE_URL).buildUpon()
.appendQueryParameter(QUERY_PARAM, params[0])
.appendQueryParameter(FORMAT_PARAM, format)
.appendQueryParameter(UNITS_PARAM, units)
.appendQueryParameter(DAYS_PARAM, Integer.toString(numDays))
.appendQueryParameter(APPID_PARAM, BuildConfig.OPEN_WEATHER_MAP_API_KEY)
.build();
URL url = new URL(builtUri.toString());
Итак, мой вопрос в том, зачем тратить все усилия на внесение изменений для хранения appid в части Gradle. Разве мы не можем получить доступ непосредственно только к основной программе?

И вторая часть моего вопроса заключается в том, что на самом деле происходит в части gradle, особенно с блоком buildTypes.each{}?

Подробнее здесь: https://stackoverflow.com/questions/357 ... properties
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»