Я - новый разработчик, изучающий мир Android. В настоящее время я работаю над учебниками Udacity для создания приложения Sunshine. В классе активности фрагмента для получения данных из openweathermap я должен добавить ключ API, полученный из моей учетной записи, до конца сгенерированного URL. Существует вызов BuildConfig.java в Fragment activity (щелкните, чтобы увидеть вызов BuildConfig.java, который находится на 6-й строке как часть String apiKey).Не удается разрешить символ c882c94be45fff9d16a1cf845fc16ec5
Файл build.gradle выглядит следующим образом:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.example.android.sunshine.app"
minSdkVersion 10
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
buildTypes.each {
it.buildConfigField 'String', 'OPEN_WEATHER_MAP_API_KEY', 'c882c94be45fff9d16a1cf845fc16ec5'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.0'
}
в buildTypes.each it.buildConfigField вызывается с 'String', 'OPEN_WEATHER_MAP_API_KEY', 'c882c94be45fff9d16a1cf845fc16ec5', в результате чего
public static final String OPEN_WEATHER_MAP_API_KEY = c882c94be45fff9d16a1cf845fc16ec5;
генерируется в BuildConfig.java, однако я продолжаю получать эту ошибку: Cannot Resolve Symbol (щелкните, чтобы увидеть сообщение об ошибке и файл BuildConfig.java) Я не понимаю, почему String OPEN_WEATHER_ MAP_API_KEY автоматически создается как только группа букв и цифр без кавычек вокруг них, но если я изменить код следующим образом:
public static final String OPEN_WEATHER_MAP_API_KEY = "c882c94be45fff9d16a1cf845fc16ec5";
или
public static final String OPEN_WEATHER_MAP_API_KEY = 'c882c94be45fff9d16a1cf845fc16ec5';
BuildConfig.java автоматически изменяет себя. Я не уверен, что я делаю неправильно, и я проверил многие из видеороликов Udacity, которые не имели никакой информации об этой проблеме. Пожалуйста, дайте мне знать, знаете ли вы, как это исправить.
С уважением.
Возможно, вы захотите создать новый ключ API в Open Weather Maps, если вы этого еще не сделали, поскольку любой может использовать ваш ключ в своем приложении. – sornars
@sornars, очень хорошее наблюдение. В общем, при размещении частной и конфиденциальной информации, такой как API-интерфейс владельца в этом случае, всегда ставится фиктивное значение. – Chand51
не беспокойтесь, я изменил свой ключ API –