如何判断 Android openweatherMap API 中的城市是否不正确?
How to tell if the city is incorrect in Android openweatherMap API?
我正在使用 XmlPullParser 从 API 解析天气信息。一旦用户进入他的城市(输入),我的应用程序就会显示天气信息。如果我在文本框中输入 "London",我的应用会转到 this 并从 xml 获取温度、湿度等(此时一切正常)。但是当我输入 "Londonsd" 我的应用程序挂断了。
当我输入错误的城市时,我从服务器收到的消息是“{"message":"Error: Not found city","cod":”404“}”。
您将获得两种类型的数据响应,成功的情况下获得 xml,失败的情况下获得 json,首先使它们相同。我建议通过更改 mode=json
http://api.openweathermap.org/data/2.5/weather?q=London&mode=json&units=metric.
来使用 json
之后你可以检查cod
如果有404则城市无效。
或
您可以尝试response.contains("\"cod\":\"404\"");
或response.contains("Not found city");
来检查错误。但不是理想的解决方案。
我正在使用 XmlPullParser 从 API 解析天气信息。一旦用户进入他的城市(输入),我的应用程序就会显示天气信息。如果我在文本框中输入 "London",我的应用会转到 this 并从 xml 获取温度、湿度等(此时一切正常)。但是当我输入 "Londonsd" 我的应用程序挂断了。
当我输入错误的城市时,我从服务器收到的消息是“{"message":"Error: Not found city","cod":”404“}”。
您将获得两种类型的数据响应,成功的情况下获得 xml,失败的情况下获得 json,首先使它们相同。我建议通过更改 mode=json
http://api.openweathermap.org/data/2.5/weather?q=London&mode=json&units=metric.
之后你可以检查cod
如果有404则城市无效。
或
您可以尝试response.contains("\"cod\":\"404\"");
或response.contains("Not found city");
来检查错误。但不是理想的解决方案。