如何解决尝试从API提取数据
我目前正在使用一个Android应用程序,该应用程序显示来自ASP.NET Restful Web API的天气信息。我编写了一种方法,该方法采用城市名称并获取天气信息,然后将其发送到MainActivity,然后将其显示在屏幕上,但是由于某种原因,它将吐出捕获异常消息。我试图在logcat中寻找答案,但没有任何反应。
任何帮助将不胜感激:
public interface WeatherByCityResponse {
void onError(String message);
void onResponse(Weatherinformation weatherinformation);
}
public void getWeatherByCity(String city,final WeatherByCityResponse weatherByCityResponse) {
List<Weatherinformation> report = new ArrayList<>();
String url = QUERY + city;
JsonArrayRequest request = new JsonArrayRequest(Request.Method.GET,url,null,new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
try {
Weatherinformation weather = new Weatherinformation();
JSONObject weatherInfo = response.getJSONObject(0);
weather.setId(weatherInfo.getInt("id"));
weather.setCity(weatherInfo.getString("city"));
weather.setConditions(weatherInfo.getString("condition"));
weather.setMinTemp(weatherInfo.getInt("minTemperature"));
weather.setMaxTemp(weatherInfo.getInt("maxTemperature"));
weather.setwindDirect(weatherInfo.getString("windDirection"));
weather.setwindSpeed(weatherInfo.getInt("windSpeed"));
weather.setoutlook(weatherInfo.getString("outlook"));
weatherByCityResponse.onResponse(weather);
} catch (JSONException e) {
e.printstacktrace();
}
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(context,"ooga booga",Toast.LENGTH_SHORT).show();
}
});
Singleton.getInstance(context).addToRequestQueue(request);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。