Android调用天气接口(和风天气)
第一次开通博客,不知写些什么。目前正在做一个Android项目,需要调用天气接口来显示连续几天的天气信息状况,但由于网上一些资料有点杂乱或不全(或许是自己水平不够,别人写的简洁),总之刚开始时无从下手。慢慢懂了之后,觉得有必要写点东西。为避免以后遗忘,也方便过后复制粘贴,于是记下其中的具体步骤,给予提示。同时,希望能给和我一样正在学习Android的人提供一点小帮助。若有错误,敬请指正!
1. 注册和风天气账号
注册地址:http://console.heweather.com/register
注册账号后会得到一个个人认证key
2. API地址:
城市接口:https://api.heweather.com/x3/weather?cityid=城市ID&key=你的认证key
(例:https://api.heweather.com/x3/weather?cityid=CN101010100&key=c0e7636c8e2f415???)
3.返回的JSON数据
。。。。。。。。。。。。。。(省略)
4.编写JavaBean类
根据json数据创建相应的类,类名分别为Weather、Aqi、Basic、Dailyforecast、HourlyForcast、Now、
Suggestion。为简单易懂,类数据成员访问控制方式都设为public。(也可以设为private,不过要获取数据就靠写多个get函数)
①Weather.java
public classWeather {
public Aqi aqi;public Basic basic;public List<DailyForecast> daily_forecast;public List<HourlyForecast> hourly_forecast;public Now now;public String status;public Suggestion suggestion;}
②Aqi.java
public class Aqi {
public City city;public class City{public String aqi;private String co;private String no2;private String o3;private String pm10;public String pm25;private String qlty;private String so2;}}
③Basic.java
public class Basic {public String city;private String cnty;public String id;public String lat;public String lon;public Update update;public class Update{public String loc;public String utc;}}
④DialyForecast.java (由于dialy_forcast字段对应的是一个数组,故可以用List<DialyForecast>来表示)
public class DailyForecast {public Astro astro;public class Astro{public String sr;public String ss;}public Cond cond;public class Cond{public String code_d;public String code_n;public String txt_d;public String txt_n;}public String date;public String hum;public String pcpn;public String pop;public String pres;public Tmp tmp;public class Tmp{public String max;public String min;}public String vis;public Wind wind;public class Wind{public String deg;public String dir;public String sc;public String spd;}}
⑤HourlyForcast.java
public class HourlyForecast {public String date;public String hum;public String pop;public String pres;public String tmp;public Wind wind;public class Wind{public String deg;public String dir;public String sc;public String spd;}}
⑥Now.java
public class Now {public Cond cond;public class Cond{public String code;public String txt;}public String fl;public String hum;public String pcpn;public String pres;public String tmp;public String vis;public Wind wind;public class Wind{public String deg;public String dir;public String sc;public String spd;}}
⑦Suggestion.java
public class Suggestion {public Air air;public class Air{public String brf;public String txt;}public Comf comf;public class Comf{ public String brf;public String txt;}public Cw cw;public class Cw{public String brf;public String txt;}public Drsg drsg;public class Drsg{public String brf;public String txt;}public Flu flu;public class Flu{public String brf;public String txt;}public Sport sport;public class Sport{public String brf;public String txt;}public Trav trav;public class Trav{public String brf;public String txt;}public Uv uv;public class Uv{public String brf;public String txt;}}
5.用Gson解析数据,得到一个Weather对象(其中参数response为返回的json数据)
JSONObject jsonObject=new JSONObject(response);JSONArray jsonArray=jsonObject.getJSONArray("HeWeather data service 3.0");
String weatherContent=jsonArray.getJSONObject(0).toString();
Gson gson=new Gson();
Weather weather=gson.fromJson(weatherContent,Weather.class);
6.简单获取数据
城市名: weather.basic.city
更新时间: weather.basic.update.loc
天气: weather.now.cond.txt
今天温度: weather.now.tmp
最低温度: weather.daily_forecast[0].tmp.min
最高温度: weather.daily_forecast[0].tmp.min
舒适度: weather.suggestion.comf.txt;
洗车指数: weather.suggestion.cw.txt;
运动建议: weather.suggestion.sport.txt;
就写到这里了,调用天气接口其实很简单,按照固定的格式就可以调用并解析,多用几遍就可以记住了,加油!(凡星逝水2017)
Android调用天气接口(和风天气)相关推荐
- Android使用高德与和风天气实现定位实况数据显示 简易新闻(十)
Android使用高德与和风天气实现定位实况数据显示 简易新闻(十) 关于 效果图 第一步,添加和风引用 第二步,修改AndroidManifest.xml 第三步,修改activity_main.x ...
- Android使用ButterKnife与和风天气sdk
Android使用ButterKnife与和风天气sdk获取实况天气数据(二) 关于 效果 ButterKnife引用 第一步,修改activity_main.xml 修改MainActicity.j ...
- 请求天气 API 和风天气 API 免费
请求天气 API 和风天气 API 免费 和风天气 https://www.qweather.com/ 是苹果天气的来源之一 它提供了免费的一些可用接口 API API 文档: https://dev ...
- 地区天气(和风天气)
通过和风天气接口获取天气 和风天气开发服务 ~ 强大.丰富的天气数据服务 这个是花钱的,但是有免费次数 先登录申请key,还需申请腾讯的key(因为我是通过ip获取城市码) 注册在index中 < ...
- Android使用和风天气接口获取天气数据在APP中展示天气
公司APP项目需要能能够显示当前天气,网上找了很多天气数据接口,总结下来要么收费,要么用起来不友好,最后还是用了郭霖推荐的和风天气接口 这里记录一下自己的使用过程 首先注册和风天气个人开发者,认证时间 ...
- android调用web接口,Android调用webservice 接口
以查询手机号码归属地的Web service为例,它的wsdl为 1 在Android项目中导入??Ksoap2-android jar第三方jar包?? 2 Activity代码 public cl ...
- android调用webservice传参数,android调用webservice接口获取信息
我的有一篇博客上讲了如何基于CXF搭建webservice,service层的接口会被部署到tomcat上,这一篇我就讲一下如何在安卓中调用这些接口传递参数. 1.在lib中放入ksoap2的jar包 ...
- android调用java接口_java/Android 接口调用的几种写法
虽然Handler用的地方比较普遍,但是接口也有他的独特之处,比较直观,然后降低了耦合性 如有一接口,需要将数据传给使用的activity中,接口如下 public interfacePushValu ...
- Android调用微博接口
1.没有密钥的朋友 请在这里注册一个移动应用,http://open.weibo.com/ .注册成功后在应用信息->基本信息中即可获得APP KEY 和 APP SECRET,没有这两个KEY ...
- android调用web接口,Android调用WebService系列之请求调用
好久没写博客,快有3年了.当初想在CTO把自己的技术文章一直延续,可却没有坚持! 开发Android网络App,通讯方式决定了你App所需的能力! 最近正在用Web Service进行通讯,那么就让我 ...
最新文章
- 有关identity的小技巧
- $.AjaxFileUpload is not a function
- python画饼图程序_python使用matplotlib画饼状图
- webserver之定时器
- 交流磁路matlab,严格地说,交流磁路计算应该用磁滞回线。
- javascript 中的深复制 和 其实现方法
- Django MTV - 模型层 - (专题)知识要点与实战案例
- php-后台权限的思路
- 京东开始卖钻石了!?
- c++图的创建_如何在photoshop中创建汉堡菜单模板
- 光通信的再思考:5G流量爆发下的数据密度革命
- Android起始内存大,调整Android Studio分配内存大小
- (算法)海盗分赃_2
- 衡水二中2021清华北大高考成绩查询,此中学与衡水中学齐名,高考101人考上清华北大,很多人却不知道...
- STM32 FLASH的写入与读取
- LAMP系统构建论文
- 手机app跑得快游戏自动代打程序设计
- EularProject 101:Optimum polynomial
- 中国人最爱的算命项目,星座和塔罗牌输给了它
- 我在办公室鱼缸里 找到了窃密设备【反窃密知识分享】