我一直致力于制作一个简单的天气应用程序,显示温度,天气和位置的描述。我能够获得该位置,但无法弄清楚如何从OpenWeatherMap获取天气描述,现在它已经困扰了我几个小时。这是代码的一部分,我在其中列出了这些信息:
<?php
define ("site_name","Unlimited Naira");
echo constant("site_name");
?>
但是对于我的生活,我无法弄清楚如何获得描述。
其余代码全部在此处:MainActivity:http://pastebin.com/e2NtTSiP
DownloadTask:http://pastebin.com/ScEREz52
我按照了youtube教程,所以我不太了解所有内容,但我有点想一遍又一遍地做,直到我能做对。
答案 0 :(得分:0)
如果您的JSON响应如下:
{
"coord": {
"lon": -122.08,
"lat": 37.39
},
"weather": [
{
"id": 500,
"main": "Rain",
"description": "light rain",
"icon": "10n"
}
],
"base": "stations",
"main": {
"temp": 277.14,
"pressure": 1025,
"humidity": 86,
"temp_min": 275.15,
"temp_max": 279.15
},
"visibility": 16093,
"wind": {
"speed": 1.67,
"deg": 53.0005
},
"clouds": {
"all": 1
},
"dt": 1485788160,
"sys": {
"type": 1,
"id": 471,
"message": 0.0116,
"country": "US",
"sunrise": 1485789140,
"sunset": 1485826300
},
"id": 5375480,
"name": "Mountain View",
"cod": 200
}
为了从回复中获取天气描述,
对于天气数组中的每个JSON对象,获取JSON对象的“description”属性
JSONObject obj = new JSONObject(response);
JSONArray arr = obj.getJSONArray("weather");
for (int i = 0; i < arr.length(); i++) {
JSONObject each = arr.get(i);
each.getString("description");
}
答案 1 :(得分:0)
String weatherInfo = jsonObject.getString("weather");
Log.i("Weather content", weatherInfo);
JSONArray arr = new JSONArray(weatherInfo);
for (int i = 0; i < arr.length(); i++) {
JSONObject jsonPart = arr.getJSONObject(i);
String main = "";
String description = "";
main = jsonPart.getString("main");
description = jsonPart.getString("description");
MainActivity.descriptionTextView.setText(description);
}
这为我修好了!