很多朋友对于中国气象app官方下载和荣耀原装的天气app不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
本文目录
一、如何使用中国**API开发天气APP
一、申请API(拿好appid和private_key)
二、解读《SmartWeatherAPI<Lite> WebAPI版接口使用说明书》
三、准备好areaid、type、date、appid、**encode($key)(注意,这里经加密的key是需要encode**之后的才能成为接口链接的一部分)
1、从附件中的areaid_list中找到你想要的地方的areaid,并且选择要查询天气的类型
*指数:index_f(基础接口);index_v(常规接口)
3天预报:forecast_f(基础接口);forecast_v(常规接口)
NSDateFormatter*dateFormatter=
[[NSDateFormatter alloc] init];
setDateFormat:@"yyyyMMddHHmmss"];//注意日期的格式
[[dateFormatter stringFromDate:_date]
substringToIndex:12];//用到的精确到分,24小时制60分钟制
@"15ds45s13a465s";//这里是楼主随便输入的,瞎编的
@"46s4ds_SmartWeatherAPI_45s44d6";//也是瞎编的
4、算出经过**encode后的key,这步比较重要,步骤也多,请耐心看完。
在原来的的基础上是在PHP的环境中算出的,代码如下,可在“
http://writecodeonline**/php/”下进行算法的检验
**encode(base64_encode(hash_hmac('sha1'," http://open.weather****/data/?areaid=101010100&type=index_f&date=201409041509&appid=15ds45s13a465s",
"46s4ds_SmartWeatherAPI_45s44d6",
首先定义得到public_key和API的方法,还有就是对key进行encode****作的方法
注意,这里的方法都是被我定义在getTime的类里面,后面是在main中实例化出来的
getPublicKey:(NSString*)areaid:(NSString*)type:(NSString*)date
NSString*Key= [[NSString alloc]
initWithFormat:@"http://open.weather****/data/?areaid=%@&type=%@&date=%@&appid=%@",
areaid, type, [date substringToIndex:12], appid];
-(NSString*) getAPI:(NSString*)areaid
:(NSString*)type:(NSString*)date:(NSString*)appid:(NSString*)key
NSString*API= [[NSString alloc]
initWithFormat:@"http://open.weather****/data/?areaid=%@&type=%@&date=%@&appid=%@&key=%@",
areaid, type, [date substringToIndex:12], [appid substringToIndex:6],
//-------------这里需要主要的是只需要appid的前6位!!!
//将获得的key进性**encode**作
*)stringByEncodingURLFormat:(NSString*)_key{
*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)_key,
nil,(CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]",
//由于ARC的存在,这里的转换需要添加__bridge,原因我不明。求大神讲解
重点来了,在oc下的算法如下,记得把附件的Base64.h
//对publickey和privatekey进行加密
hmacSha1:(NSString*)public_key:(NSString*)private_key{
dataUsingEncoding:NSUTF8StringEncoding];
NSData* stringData= [public_key
dataUsingEncoding:NSUTF8StringEncoding];
const void* dataBytes= [stringData
///#define CC_SHA1_DIGEST_LENGTH 20/* digest
malloc(CC_SHA1_DIGEST_LENGTH);
CCHmac(kCCHmacAlgSHA1, keyBytes,
[secretData length], dataBytes, [stringData length], outs);
NSData* signatureData= [NSData dataWithBytesNoCopy:outs
length:CC_SHA1_DIGEST_LENGTH freeWhenDone:YES];
这里只是初步算出来的key,还未encode**,链接不能被浏览器识别,所以现在经过算法得到的_key还有一步**作才能的到真正的key。
NSString*_key= [getTime hmacSha1:[getTime
getPublicKey:areaid:type:date:appid]:private_key];
stringByEncodingURLFormat:_key];
NSString*weatherAPI= [getTime getAPI:areaid:type:date
最后,通过API返回的值是JSON文件,通过解析,就能得到我们想要的数据了,下面拿一个开发的接口举例
NSDictionary*weatherDic= [getTime
getWeatherDic:@"http://**weather****/data/city**/101010100.html"];
// weatherDic字典中存放的数据也是字典型,从它里面通过键值取值
NSLog(@"今天是%@%@%@的天气状况是:%@%@-
%@",[newDateOne substringWithRange:NSMakeRange(0, 4)],[newDateOne
substringWithRange:NSMakeRange(4, 2)],[newDateOne
substringWithRange:NSMakeRange(6, 2)],[weatherInfo
objectForKey:@"weather"],[weatherInfo objectForKey:@"temp1"],[weatherInfo
WeatherAPP[5688:201108]今天是 2014-09-04的天气状况是:晴 17℃- 30℃
weatherInfo字典里面的内容是--->{"weather**":{"city":"北京","cityid":"101010100","temp1":"17℃","temp2":"30℃","weather":"晴","img1":"n0.gif","img2":"d0.gif","ptime":"18:00"}}
二、中国气象app是干什么的
1、中国气象客户端不仅提供了权威的气象信息,还为决策用户提供了图形化的电子信息地图组件服务,可以在电子地图上展现气象监测、预报服务、气象灾害预警、云图、台风路径、雷达图、降雨图等气象信息。可全面直观的展现全国各地区的具体天气实况和预报预警等信息,为政府、各级应急指挥人员以及行业部门决策提供了准确的地理位置、应急地点等信息
2、中国气象同时提供全国天气信息资讯、气象服务专报等专业服务信息,可实现为每一位决策用户第一时间提供高精准、全方位、立体式的气象信息服务,为与天气相关的防灾减灾工作提供可靠的保障。同时,联网式的用户同步响应,更是架起了关联部门的沟通桥梁,使得应急联动部门能够统一行动,提高了应急的针对性、及时性和有效性,从而降低气象灾害所带来的各项损失。
3、中国气象手机决策气象服务客户端是集多地区、多行业、多功能的综合性决策气象服务新媒体客户端应用。采用了先进的信息网络技术,**了丰富的气象服务内容,依托美观清晰的服务界面,迎合移动互联网成为网络服务第一终端的发展趋势,为政府、应急等部门提供可靠、专业、及时、准确的气象服务
三、为什么下载中国气象用不到
用得到。中国气象是一款能帮助用户进行查询天气的手机软件,使用起来相当的方便,因此受大家的喜欢,下载中国气象用得到。中国气象APP是中国**官方推出的手机决策气象服务客户端,面向政府部门提供决策气象服务支撑,客户端由中国**公共气象服务中心主办。
四、中国气象小程序怎么登录
1、决策用户可通过授权账户和密码使用客户端。
2、普通用户可通过公众账户进行登录,用户名:中国气象、密码:121。《中国气象》是中国**手机决策气象服务客户端,客户端面向中国**和**部委办局提供决策气象服务保障,客户端由中国**应急减灾与公共服务司主办,中国**公共气象服务中心负责运行维护。
五、中国气象登录信息已过期怎么办
中国气象登录信息过期了,可以重新获取。以下是方法:
1.打开手机,点击进入天气页面。
2.天气页面右上角有一个选项,点击进入。
3.进入设置后,可以设置天气日期,还可以设置间隔多长时间更新信息。
4.点击设置,将自动更新打开,更新时间间隔为6小时。
通过以上方法,可以更新中国气象登录信息,让获取的天气信息更加准确。
文章分享结束,中国气象app官方下载和荣耀原装的天气app的答案你都知道了吗?欢迎再次光临本站哦!