使用小米天气API获取天气信息
1. URL部分
以下url中“%s”代表的是城市Id,比如北京的cityId=101010100;
//获取未来五天预报信息,红色部分信息不需要
WEATHER_DATA_URL_JSON = "http://weatherapi.market.xiaomi.com/wtr-v2/temp/forecast?cityId=%s";
返回信息格式如下:

{
"weatherinfo": {
"city": "北京",
"city_en": "beijing",
"cityid": "101010100",
"date": "",
"date_y": "2014年04月08日",
"fchh": "18",
"fl1": "3-4级转4-5级",
"fl2": "3-4级转小于3级",
"fl3": "小于3级",
"fl4": "小于3级",
"fl5": "小于3级",
"fl6": "微风",
"fx1": "南风转北风",
"fx2": "东北风转无持续风向",
"img1": "", // img信息不需要
"img10": "",
"img11": "",
"img12": "",
"img2": "",
"img3": "",
"img4": "",
"img5": "",
"img6": "",
"img7": "",
"img8": "",
"img9": "",
"img_single": "", //img_title信息不需要
"img_title1": "霾",
"img_title10": "多云",
"img_title11": "晴",
"img_title12": "晴",
"img_title2": "多云",
"img_title3": "晴",
"img_title4": "多云",
"img_title5": "多云",
"img_title6": "阴",
"img_title7": "阴",
"img_title8": "多云",
"img_title9": "晴",
"img_title_single": "",
"index": "较舒适",
"index48": "",
"index48_d": "",
"index48_uv": "",
"index_ag": "极易发",
"index_cl": "不宜",
"index_co": "舒适",
"index_d": "",
"index_ls": "不宜",
"index_tr": "适宜",
"index_uv": "最弱",
"index_xc": "不宜",
"st1": "", //st信息不需要(暂不确定其作用)
"st2": "",
"st3": "",
"st4": "",
"st5": "",
"st6": "",
"temp1": "12℃~28℃",
"temp2": "11℃~18℃",
"temp3": "8℃~18℃",
"temp4": "9℃~22℃",
"temp5": "10℃~22℃",
"temp6": "0℃~0℃",
"tempF1": "", //华氏摄氏度信息不需要
"tempF2": "",
"tempF3": "",
"tempF4": "",
"tempF5": "",
"tempF6": "",
"weather1": "霾转多云",
"weather2": "晴转多云",
"weather3": "多云转阴",
"weather4": "阴转多云",
"weather5": "晴转多云",
"weather6": "晴",
"week": "星期二",
"wind1": "南风转北风",
"wind2": "东北风转无持续风向",
"wind3": "微风",
"wind4": "微风",
"wind5": "微风",
"wind6": "微风"
}
}

//获取实时天气信息
WEATHER_DATA_SK_JSON = "http://weatherapi.market.xiaomi.com/wtr-v2/temp/realtime?cityId=%s";
返回信息格式如下:

{
"weatherinfo": {
"SD": "32%",
"WD": "西南风",
"WS": "2级",
"WSE": "",
"city": "北京",
"cityid": "101010100",
"isRadar": "1",
"radar": "JC_RADAR_AZ9010_JB",
"temp": "23",
"time": "18:35",
"weather": "霾"
}
}

//获取其他指数类天气信息,如pm2.5,二氧化硫含量等,暂时不需要这类信息
WEATHER_AQI_URL_JSON = "http://weatherapi.market.xiaomi.com/wtr/data/aqi?city_id=%s";
返回信息格式如下:

{//不需要
"aqi": {
"city": "北京",
"city_id": "101010100",
"pub_time": "2014-04-08 18:00",
"aqi": "206",
"pm25": "156",
"pm10": "196",
"so2": "47",
"no2": "42",
"src": "中国环境监测总站",
"spot": ""
}
}

获取警告信息
WEATHER_ALERT_URL_JSON = "http://weatherapi.market.xiaomi.com/wtr-v2/temp/alert?cityId=%s";
一般返回为空,且我们暂时用不到这类信息。
2. IP地址和cityId数据库
根据天气设计需求,要实现根据用户的IP地址自动匹配用户所在的当前城市。
首先要根据IP地址获取城市名称,其次通过城市名城获取对应的cityId,最后利用cityId获取对应城市的天气信息。
因此需要两个数据库,包含两张表:
表一: IP地址-->城市名称
表二: 城市名城-->cityId,对应的数据库文件分别是:ip_address_jj_city_name.db和city.db。
3. 数据返回格式极其他
要求数据返回格式为json
使用小米天气API获取天气信息的更多相关文章
- 高德地图API获取天气
1.建立行政区规划清单表 use edw; drop table if exists dim_prov_city_adcode; create table if not exists dim_prov ...
- 在C#中调用API获取网络信息和流量
原文 在C#中调用API获取网络信息和流量 最近一项目中要求显示网络流量,而且必须使用C#. 事实上,调用 IpHlpApi.dll 的 GetIfTable API 可以轻易获得网络信息和网络流量. ...
- C# 通过豆瓣网络编程API获取图书信息
这篇文章主要是关于如何通过豆瓣API获取信息的书籍,起初,我看到了原来的想法的内容是"C# 网络编程之网页简单下载实现"中通过HttpWebResponse类下载源代码,再通过正則 ...
- PHP通过ZABBIX API获取主机信息 VS 直接从数据库获取主机信息
最近项目需要获取linux主机的一些信息,如CPU使用率,内存使用情况等.由于我们本身就装了zabbix系统,所以我只用知道如何获取信息即可,总结有两种方法可以获取. 一.通过ZABBIX API获取 ...
- 根据新浪天气API获取各地天气状况(Java实现)
原文出自 参考网址(重要) http://blog.csdn.net/cyxlzzs/article/details/7602469 新浪 http://blog.csdn.net/l_ch_g/a ...
- 通过API获取统计信息时报Access denied错误处理记录
通过API获取HDFS统计信息时报Access denied错误信息,错误信息如下: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.s ...
- 免费天气API,天气JSON API,不限次数获取十五天的天气预报
紧急情况说明: 禁用IP列表: 39.104.69.*(原因39.104.69.6 在2018年10月的 17~20日 排行为top 1,每天几十万次.) 47.98.211.* (原因47.98.2 ...
- 获取新浪天气api显示天气情况(转)
直接上一个html的demo <!doctype html> <html class="no-js fixed-layout"> <head> ...
- Java调用yahoo!API获取天气数据
先把代码复制上来,以后再做补充 package com.weather.test; import java.io.InputStream; import java.net.URL; import ja ...
随机推荐
- javascript面向对象之一
问题:怎么动态设置和读取一个对象的属性? <script type="text/javascript"> function User(property){ for( ...
- Django进阶篇(二)
中间件 解析 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后, django会根据自己的规则在合适的时机执行中间件中相应的方法. 在dja ...
- 文本XSS攻击过滤
在FCK或百度编辑器等常用富文本编辑器中,通常是会被XSS攻击 处理方法: 文本框模拟输入了以下文本 <span style="dispaly:none" onclick=& ...
- OpenGL学习笔记2——顶点数组
#pragma comment(lib,"glut32.lib") #pragma comment(lib,"glut.lib") #pragma commen ...
- java中Color类的简单总结
java中Color类的简单总结 1.颜色的常识 任何颜色都是由三原色组成(RGB),JAVA中支持224为彩色,即红绿蓝分量取值 介于0-255之间(8位表示) 2.Color类中的常量 publi ...
- Linux CentOS安装postgresql 9.4
一.前言 PostgreSQL通常也简称Postgres,是一个关系型数据库管理系统,适用于各种Linux操作系统.Windows.Solaris.BSD和Mac OS X.PostgreSQL遵循P ...
- HDU1005
Number Sequence HDU-1005 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...
- cs11_adventure c++_lab1
exercise1.cc #include <iostream> #include <vector> #include <stdlib.h> #include &l ...
- 关于conky
- UIViewController生命周期
UIViewController生命周期