Android 实现简单当前时间点的天气情况(和风天气接口)
今天闲来无事,通过和风天气接口实现了一个简单的获取当前时间点的天气情况,话不多说,直接给大家展示代码,功能是挺简单的,
1、获取数据的实体类:
package wxc.com.weatheer;import java.util.List;/*** Created by 宝 on 2017/9/16.*/
public class WeatherBean {/*** basic : {"city":"西青","cnty":"中国","id":"CN101030500","lat":"39.13944626","lon":"117.01224518","update":{"loc":"2017-09-16 07:46","utc":"2017-09-15 23:46"}}* now : {"cond":{"code":"101","txt":"多云"},"fl":"24","hum":"72","pcpn":"0","pres":"1014","tmp":"23","vis":"10","wind":{"deg":"172","dir":"南风","sc":"微风","spd":"7"}}* status : ok*/private List<HeWeather5Bean> HeWeather5;public List<HeWeather5Bean> getHeWeather5() {return HeWeather5;}public void setHeWeather5(List<HeWeather5Bean> HeWeather5) {this.HeWeather5 = HeWeather5;}public static class HeWeather5Bean {/*** city : 西青* cnty : 中国* id : CN101030500* lat : 39.13944626* lon : 117.01224518* update : {"loc":"2017-09-16 07:46","utc":"2017-09-15 23:46"}*/private BasicBean basic;/*** cond : {"code":"101","txt":"多云"}* fl : 24* hum : 72* pcpn : 0* pres : 1014* tmp : 23* vis : 10* wind : {"deg":"172","dir":"南风","sc":"微风","spd":"7"}*/private NowBean now;private String status;public BasicBean getBasic() {return basic;}public void setBasic(BasicBean basic) {this.basic = basic;}public NowBean getNow() {return now;}public void setNow(NowBean now) {this.now = now;}public String getStatus() {return status;}public void setStatus(String status) {this.status = status;}public static class BasicBean {private String city;private String cnty;private String id;private String lat;private String lon;/*** loc : 2017-09-16 07:46* utc : 2017-09-15 23:46*/private UpdateBean update;public String getCity() {return city;}public void setCity(String city) {this.city = city;}public String getCnty() {return cnty;}public void setCnty(String cnty) {this.cnty = cnty;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getLat() {return lat;}public void setLat(String lat) {this.lat = lat;}public String getLon() {return lon;}public void setLon(String lon) {this.lon = lon;}public UpdateBean getUpdate() {return update;}public void setUpdate(UpdateBean update) {this.update = update;}public static class UpdateBean {private String loc;private String utc;public String getLoc() {return loc;}public void setLoc(String loc) {this.loc = loc;}public String getUtc() {return utc;}public void setUtc(String utc) {this.utc = utc;}}}public static class NowBean {/*** code : 101* txt : 多云*/private CondBean cond;private String fl;private String hum;private String pcpn;private String pres;private String tmp;private String vis;/*** deg : 172* dir : 南风* sc : 微风* spd : 7*/private WindBean wind;public CondBean getCond() {return cond;}public void setCond(CondBean cond) {this.cond = cond;}public String getFl() {return fl;}public void setFl(String fl) {this.fl = fl;}public String getHum() {return hum;}public void setHum(String hum) {this.hum = hum;}public String getPcpn() {return pcpn;}public void setPcpn(String pcpn) {this.pcpn = pcpn;}public String getPres() {return pres;}public void setPres(String pres) {this.pres = pres;}public String getTmp() {return tmp;}public void setTmp(String tmp) {this.tmp = tmp;}public String getVis() {return vis;}public void setVis(String vis) {this.vis = vis;}public WindBean getWind() {return wind;}public void setWind(WindBean wind) {this.wind = wind;}public static class CondBean {private String code;private String txt;public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getTxt() {return txt;}public void setTxt(String txt) {this.txt = txt;}}public static class WindBean {private String deg;private String dir;private String sc;private String spd;public String getDeg() {return deg;}public void setDeg(String deg) {this.deg = deg;}public String getDir() {return dir;}public void setDir(String dir) {this.dir = dir;}public String getSc() {return sc;}public void setSc(String sc) {this.sc = sc;}public String getSpd() {return spd;}public void setSpd(String spd) {this.spd = spd;}}}}
}
2、下面是主要代码
和风的接口,有免费的和收费的,这里使用的是免费的
private String url = "https://free-api.heweather.com/v5/now?city=CN101030500&key=XXXXXX";
下面通过解析数据获取信息
try {// /创建okHttpClient对象OkHttpClient mOkHttpClient = new OkHttpClient();//创建一个Requestfinal Request request = new Request.Builder().url(url).build();//new callCall call = mOkHttpClient.newCall(request);//请求加入调度call.enqueue(new Callback() {@Overridepublic void onFailure(Call call, IOException e) {}@Overridepublic void onResponse(Call call, Response response) throws IOException {String string = response.body().string();Gson gosn = new Gson();w = new ArrayList<WeatherBean>();WeatherBean bean =gosn.fromJson(string,WeatherBean.class);w.add(bean);runOnUiThread(new Runnable() {@Overridepublic void run() {String citi = w.get(0).getHeWeather5().get(0).getBasic().getCity();String cn = w.get(0).getHeWeather5().get(0).getBasic().getCnty();String updateTime = w.get(0).getHeWeather5().get(0).getBasic().getUpdate().getLoc();String text = w.get(0).getHeWeather5().get(0).getNow().getCond().getTxt();String tep = w.get(0).getHeWeather5().get(0).getNow().getTmp();t1.setText(citi);t2.setText(cn);t3.setText(updateTime);t4.setText(text);t5.setText(tep);}});}});
} catch (Exception e) {e.printStackTrace();
}
这样就实现了一个简单的展示当前天气的功能,根据自己的需求,要想多长时间更新一次就可以了,值得注意的是,免费的接口每天请求的数量是有限制的,
源代码下载:http://download.csdn.net/download/chen_xiaobao/10043393
Android 实现简单当前时间点的天气情况(和风天气接口)相关推荐
- 请求天气 API 和风天气 API 免费
请求天气 API 和风天气 API 免费 和风天气 https://www.qweather.com/ 是苹果天气的来源之一 它提供了免费的一些可用接口 API API 文档: https://dev ...
- 地区天气(和风天气)
通过和风天气接口获取天气 和风天气开发服务 ~ 强大.丰富的天气数据服务 这个是花钱的,但是有免费次数 先登录申请key,还需申请腾讯的key(因为我是通过ip获取城市码) 注册在index中 < ...
- 超级计算机预报威海雨雪,威海历史天气预报查询_2018年12月份威海天气记录_威海2018年12月份天气情况_天气后报...
日期 天气状况 气温 风力风向 阴 /小雨 12℃ / 8℃ 东北风 4-5级 /东北风 4-5级 小雨 /小雨 14℃ / 9℃ 东南风 5-6级 /东南风 5-6级 小雨 /多云 13℃ / 5℃ ...
- Android实战:CoolWeather酷欧天气(加强版数据接口)代码详解(上)
-----------------------------------该文章代码已停更,可参考浩比天气(更新于2019/6/25)----------------------------------- ...
- Android使用高德和风天气Sdk获取定位实况天气数据(二)
Android使用高德和风天气Sdk获取定位实况天气数据(二) 先看一下效果 关于 实现 第一步,引用高德api与和风天气 第二步,修改AndroidManifest.xml 第三步,修改activi ...
- Android开发之和风天气篇:1、获取天气信息
TIME:2020年7月6日 :1.获取天气信息 和风天气API使用方法: step1 申请天气接口 step2 天气接口初始化 step3 选择服务模式 step4 通过URL请求数据 step5解 ...
- 【微信小程序】使用和风天气接口api(全过程)——获取天气
介绍 这里是小编成长之路的历程,也是小编的学习之路.希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡. 一个人为什么要努力? ...
- 智能聊天功能——天气情况篇
天气预报已然成为人们生活中不可缺少的一部分,实时了解气象的优劣,做到第一时间预防是至关重要的.所以,当我们需要外出时,如果能提前知道天气的变化情况,做好预防准备措施,就能让出行变得更加顺利. 本系统为 ...
- vue中如何使用和风天气插件
想给我的个人博客添个展示天气的,网上一找看到了中国天气.和风天气这两种,附一下这两个的官网链接. 中国天气:https://cj.weather.com.cn/plugin/index 和风天气: ...
最新文章
- linux memcached php 整合
- 中南大学计算机有网络安全,中南大学2019年大学生网络安全知识竞赛(复赛)成功举行...
- NFS mount.nfs: access denied by server while mounting 一个解决办法
- Document for the hackthon
- c#与mysql数据库连接以及.net framework版本修改问题
- Java设置软件图标即窗口上角图标
- 深入学习Redis(4):哨兵
- location.href属于重定向还是转发_servlet2 单元测试、转发、重定向
- matlab二维数组最小值出错,矩阵求最小值问题 问题是: 错误使用空矩形矩阵进行赋值...
- 在活动完成之后的格式工厂下载
- OpenShift 4- 用ArgoCD安装ArgoCD环境
- C# ChartControl
- 2018年最好用的百度网盘资源搜索神器排行
- 【干货】32个EMC标准电路分享!
- 产业互联网周报:博通610亿美元收购VMware;阿里云财报13年来首次年度盈利;华为:对所有供应商提出碳减排要求...
- 影楼修片走下神坛 PS磨皮技巧大揭秘
- 李克平教授讲座——《城市道路交叉口规划规范》解读与绿灯间隔(整理文本)...
- windows下谷歌邮箱注册及谷歌浏览器登录
- Dijkstra算法
- Bingo说说:副业刚需时代,你有B计划吗?
热门文章
- CCTV-5的街舞比赛
- 阻塞IO和非阻塞IO的区别
- pythonturtle实现画一个海豚
- Java中回车符的使用‘\r‘
- java继承案例分析_Java面向对象_继承——基本概念以及管理化妆品实例分析
- python生成一副扑克牌_【扑克游戏基本】用python打造出一副扑克牌并实操大转变...
- html 获取class节点,jquery获取class元素
- 2018湖北省大学程序设计竞赛 D. Who killed Cock Robin
- Java面向对象系列[v1.0.0][泛型进阶]
- java设计模式---责任链模式详解