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获取天气信息的更多相关文章

  1. 高德地图API获取天气

    1.建立行政区规划清单表 use edw; drop table if exists dim_prov_city_adcode; create table if not exists dim_prov ...

  2. 在C#中调用API获取网络信息和流量

    原文 在C#中调用API获取网络信息和流量 最近一项目中要求显示网络流量,而且必须使用C#. 事实上,调用 IpHlpApi.dll 的 GetIfTable API 可以轻易获得网络信息和网络流量. ...

  3. C# 通过豆瓣网络编程API获取图书信息

    这篇文章主要是关于如何通过豆瓣API获取信息的书籍,起初,我看到了原来的想法的内容是"C# 网络编程之网页简单下载实现"中通过HttpWebResponse类下载源代码,再通过正則 ...

  4. PHP通过ZABBIX API获取主机信息 VS 直接从数据库获取主机信息

    最近项目需要获取linux主机的一些信息,如CPU使用率,内存使用情况等.由于我们本身就装了zabbix系统,所以我只用知道如何获取信息即可,总结有两种方法可以获取. 一.通过ZABBIX API获取 ...

  5. 根据新浪天气API获取各地天气状况(Java实现)

    原文出自 参考网址(重要) http://blog.csdn.net/cyxlzzs/article/details/7602469  新浪 http://blog.csdn.net/l_ch_g/a ...

  6. 通过API获取统计信息时报Access denied错误处理记录

    通过API获取HDFS统计信息时报Access denied错误信息,错误信息如下: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.s ...

  7. 免费天气API,天气JSON API,不限次数获取十五天的天气预报

    紧急情况说明: 禁用IP列表: 39.104.69.*(原因39.104.69.6 在2018年10月的 17~20日 排行为top 1,每天几十万次.) 47.98.211.* (原因47.98.2 ...

  8. 获取新浪天气api显示天气情况(转)

    直接上一个html的demo <!doctype html> <html class="no-js fixed-layout"> <head> ...

  9. Java调用yahoo!API获取天气数据

    先把代码复制上来,以后再做补充 package com.weather.test; import java.io.InputStream; import java.net.URL; import ja ...

随机推荐

  1. 64位系统上运行32位程序能否申请到8G内存?

    申请不到,因为64为系统在运行32位程序的时候只是为了向下兼容而已,对于32位程序来讲,申请8G的存储空间没有任何意义,因为32位的程序最大寻址空间只有4G,32位程序在编译之后的机器代码也只有32位 ...

  2. mysql on Mac OS

    在新买的macbook pro15上安装了mysql,发现2个问题 一个是workbench基本无法正常退出,都要force quit 第二是我正常通过workbench连接后,查看系统log,会发现 ...

  3. XUtils 3 使用

    源代码:https://github.com/wyouflf/xUtils 基本使用:http://blog.csdn.net/abc6368765/article/details/50699334 ...

  4. 从jquery源码中看类型判断和数组的一些操作

    在深入看jquery源码中,大家会发现源码写的相当巧妙.那我今天也通过几个源码中用到的技巧来抛砖引玉,希望大家能共同研究源码之精华,不要囫囵吞枣. 1.将类数组转化成数组 我想大家首先想到的方法是fo ...

  5. yii-basic-app-2.0.5/basic/config/web.php

    <?php $params = require(__DIR__ . '/params.php'); $config = [ 'id' => 'basic', 'basePath' => ...

  6. 读取nutch爬取内容方法

    读取nutch内容有如下两种方法: 1 通过Nutch api SegmentReader读取. public Content readSegment(String segPath,String ur ...

  7. Python-0 简述

    #1 应用广泛: 豆瓣 youtube 云存储相关 #2 初步学习内容:

  8. MySQL 基础语句

    MySQL 基础语句 多个知识点 ----------------------------------------------------------------------------------- ...

  9. 关于IE下用HTTPS无法下载/打开文件

    关于IE下用HTTPS无法下载/打开文件(ie8兼容模式下,ie7/ie6下有些问题.) http协议下运行正常,可以下载文件但放到https协议下就不好用一保存,IE提示:ie无法下载,请求站点不可 ...

  10. 初探VIM编辑器

    初探VIM 引言---什么是Vim? 接触Linux这么久,想必对于一切皆文件的哲学思想已经不陌生了.因此,学习并掌握用一款Linux文本编辑器,对于玩转LInux来说,是很有必要的. vi编辑器是U ...