为了账号安全,请及时绑定邮箱和手机立即绑定

大佬们,这个报错原因是啥呀

大佬们,这个报错原因是啥呀http://img1.sycdn.imooc.com//61e834010001fdf028001608.jpg

正在回答

2 回答

public List<DayWeather> w3d(String appCode, String area) {
    List<DayWeather> resultList = new ArrayList<DayWeather>();
    try {
        //新建查询请求
        OkHttpClient client = new OkHttpClient();
        Request request = new Request.Builder()
                .get()
                .url("http://ali-weather.showapi.com/day15?area=" + area)
                .header("Authorization", "APPCODE " + appCode)
                .build();
        Call call = client.newCall(request);
        Response response = call.execute();
        Gson gson = new GsonBuilder()
                .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
                .create();
        //获取服务器返回数据
        String resBody = response.body().string();
        Map result = gson.fromJson(resBody, new TypeToken<Map>() {
        }.getType());
        //包装为对象集合
        // ************* 以下是修改部分 ********************
        List<Map<String, String>> dayList = this.getValue(result, "showapi_res_body.dayList", ArrayList.class);
        //如果没有找到对应地区天气数据,返回空的List列表
        if (dayList == null || dayList.size() == 0) {
            return new ArrayList<DayWeather>();
        }
        Iterator<Map<String, String>> iterator = dayList.iterator();
        for (int i = 0; i < 3; i++) {
            if (iterator.hasNext()) {
                Map<String, String> day = iterator.next();
                DayWeather dayWeather = new DayWeather();
                dayWeather.setYear(day.get("daytime").substring(0, 4));
                dayWeather.setMonth(day.get("daytime").substring(4, 6));
                dayWeather.setDay(day.get("daytime").substring(6, 8));
                dayWeather.setDayAirTemperature(day.get("day_air_temperature"));
                dayWeather.setNightAirTemperature(day.get("night_air_temperature"));
                dayWeather.setDayWeather(day.get("day_weather"));
                dayWeather.setNightWeather(day.get("night_weather"));
                dayWeather.setDayWindPower(day.get("day_wind_power"));
                dayWeather.setNightWindPower(day.get("night_wind_power"));
                resultList.add(dayWeather);
            }
        }
        // ************* 以上是修改部分 ********************

    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    return resultList;
}


0 回复 有任何疑惑可以回复我~

你下的那个阿里云里面的天气预报的版本不一样,要下跟老师一样的那个版本,就是有免费版三个字的版本

搜索

复制

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       529882    人
  • 解答问题       6086    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

大佬们,这个报错原因是啥呀

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信