专栏首页葬爱家族Android高德之旅(15)天气查询废话简介总结

Android高德之旅(15)天气查询废话简介总结

废话

说到吃饭...呸,说到天气,其实这个并不属于地图或者导航的范畴,为什么高德要提供天气查询呢?两个字:讲究。天气查询可以用来改善app体验的功能,如:在跑步类app中加入天气的提醒;或者出去自驾游提前知道要下雨,就可以造作准备,是不是很贴心。

简介

天气查询的请求参数类为 WeatherSearch,city(城市)为必设参数,type(气象类型)为可选,包含有两种类型:WEATHER_TYPE_LIVE为实况天气;WEATHER_TYPE_FORECAST为预报天气,默认为 实况天气。

WeatherSearchQuery query = new WeatherSearchQuery("北京", WeatherSearchQuery.WEATHER_TYPE_LIVE);
WeatherSearch weathersearch=new WeatherSearch(this);
weathersearch.setOnWeatherSearchListener(new WeatherSearch.OnWeatherSearchListener() {
        @Override
        public void onWeatherLiveSearched(LocalWeatherLiveResult liveResult, int i) {
            
        }

        @Override
        public void onWeatherForecastSearched(LocalWeatherForecastResult forecastResult, int i) {

        }
    });
weathersearch.setQuery(query);
weathersearch.searchWeatherAsyn();

代码超级简单,关键来看两个回调,第一个回调是实况天气,第二个回调是预报天气,先来看第一个。

@Override
public void onWeatherLiveSearched(LocalWeatherLiveResult result, int i) {
    LocalWeatherLive liveResult = result.getLiveResult();
    liveTimeTxt.setText(liveResult.getReportTime()); //时间
    liveWeatherTxt.setText(liveResult.getWeather()); //气象
    liveTemperatureTxt.setText(liveResult.getTemperature() + "°C"); //温度
    liveWindDirectionTxt.setText(liveResult.getWindDirection()); //风向
    liveWindPowerTxt.setText(liveResult.getWindPower() + "级"); //风力
    liveHumidityTxt.setText(liveResult.getHumidity() + "%"); //湿度
}

通过返回数据,我们可以获得丰富的天气情况,包括气温,气象,风向,风力,湿度,城市等等。

再来看第二个回调,预报天气,这里会返回未来四天的天气,而且这里的数据分为白天和夜晚,是不是很丰富。

@Override
public void onWeatherForecastSearched(LocalWeatherForecastResult result, int i) {
    LocalWeatherForecast forecastResult = result.getForecastResult();
    forecastTimeTxt.setText(forecastResult.getReportTime());
    List<LocalDayWeatherForecast> weatherForecast = forecastResult.getWeatherForecast();

    List<Forecast> forecastList = new ArrayList<>();
    for (LocalDayWeatherForecast forecast : weatherForecast) {
        String dayWeather = forecast.getDayWeather(); //白天天气
        String dayTemp = forecast.getDayTemp(); //白天温度
        String dayWindDirection = forecast.getDayWindDirection(); //白天风向
        String dayWindPower = forecast.getDayWindPower(); //白天风力
        String nightWeather = forecast.getNightWeather(); //夜晚天气
        String nightTemp = forecast.getNightTemp(); //夜晚温度
        String nightWindDirection = forecast.getNightWindDirection(); //夜晚风向
        String nightWindPower = forecast.getNightWindPower(); //夜晚风力

        forecastList.add(new Forecast(dayWeather, dayTemp, dayWindDirection, dayWindPower,
                nightWeather, nightTemp, nightWindDirection, nightWindPower));
    }

    ForecastAdapter adapter = new ForecastAdapter(this, forecastList);
    forecastListView.setAdapter(adapter);
}

我们把数据解析成一个List<Forecast> forecastList,然后用ListView展示出来。

总结

天气就说这么多,本期节目就到这里,感谢大家收看,我们下期再见~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android高德之旅(16)交通态势查询废话看代码总结

    交通态势信息是由当前时刻和未来某一时刻的交通状况信息构成,目前该功能仅对当前时刻对交通状况(路况)信息进行了透出。这篇有点尴尬的是,实在不好用地图来演示,所以就...

    大公爵
  • Android高德之旅(12)厉害了POI

    前后两千万,拍照更清晰。大家好,这里是OPPO R11独家冠名赞助播出的大型情感类电视连续剧《Android高德之旅》,我是主持人大公爵。这期节目,我们来讲一下...

    大公爵
  • Android高德之旅(11)绘制海量点废话海量总结

    第7篇说过绘制一个Marker,如果我要绘制多个Marker呢,很简单调用多次就可以了。但是如果绘制的数量非常大呢?大到成千上万,甚至好几万,普通绘制Marke...

    大公爵
  • OpenCV鼠标滑轮事件

    鼠标的滑轮事件实现图像的缩放很方便,具体在回调函数中如下写: 其中scale可以在外部定义为全局变量,通过响应CV_EVENT_MOUSEWHEEL滑轮事件获取...

    一棹烟波
  • 深度学习,NLP和表征(译)

    用户1130025
  • 【陆勤阅读】深度学习、自然语言处理和表征方法

    简介 过去几年,深度神经网络在模式识别中占绝对主流。它们在许多计算机视觉任务中完爆之前的顶尖算法。在语音识别上也有这个趋势了。 虽然结果好,我们也必须思考……它...

    陆勤_数据人网
  • 同样是从Web导入,为什么PowerBI里的Power Query就比Excel的强?

    Power Query我们知道是一种数据清洗的工具,在Excel中就能直接进行使用,而在Power BI中也有着同样功能的Power Query,但是其功能却比...

    逍遥之
  • 从语言学角度看词嵌入模型

    在任何一个基于机器学习的自然语言处理(NLP)流水线中,词的向量化是其中典型的一个步骤,因为我们不能直接给计算机“喂单词”。在词的向量化过程中,我们为一个单词指...

    AI研习社
  • 面试题五期-中高级测试工程师基础知识必备之selenium篇

    引言:自动化永远是避不开的,反正你入职的岗位要不要用自动化,你必须得会一点,加分项。这一块包括,自动化一些理念和自动化的工具使用。

    测试小兵
  • 图像缩放示例

    二维图像的缩放属于仿射变换或者透视变换的范畴,一般可以通过OpenCV的warpAffine()或者warpPerspective()函数实现。 出于兴趣,根据...

    一棹烟波

扫码关注云+社区

领取腾讯云代金券