如何判断 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");来检查错误。但不是理想的解决方案。