我是新來的Android和上一個項目,我看到的是我得到了API密鑰保存在gradle.properties
作爲工作:保存在gradle.properties API密鑰
MyOpenWeatherMapApiKey="1c3ae96f93a0094e8a7chsjdgfid04aed3f10"
然後在build.gradle(module:app)
我加入以下行:
buildTypes.each {
it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', MyOpenWeatherMapApiKey
}
所以,在我的主程序,我使用這個API,其網址是由這段代碼有訪問數據:
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{}
塊?
謝謝。你的問題幫助我配置我的項目。 –