我正在使用 XmlPullParser 来解析API中的天气信息。我的应用程序在用户进入他的城市(输入)后显示天气信息。如果我在文本框中输入“London”,我的应用程序将转到this并从xml中获取温度,湿度等(此时一切都按预期工作)。但是当我进入“Londonsd”时,我的应用程序就会挂断。
当我输入错误的城市时,我从服务器收到的消息是“{”消息“:”错误:找不到城市“,”cod“:”404“}”。
答案 0 :(得分:1)
如果成功获取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");
来检查错误。但不是理想的解决方案。