百度天气接口api气

Android例子源码使用百度定位和车联网天气查询
今天是&&日&&&&&&星期六
您还没有登录,&&&&
当前位置:
,,Android例子源码使用百度定位和车联网天气查询
更新时间:日
浏览次数:4186 次
下载次数:364 次
本项目是一个百度定位和天气查询结合的例子,定位最好打开数据流量,可以快速定位,项目包括一个网络相关工具类有通过Get获取网页的二进制数据内容、通过Get获取字符串形式网页内容、判断网络是否可用等常用功能,本例子使用SAX解析百度车联网天气查询得到的xml文件 车联网 天气查询 API说明/map/carapi-7.htm 涉及的SDK有BaiduNaviSDK_v1_0_0.jar(百度导航 SDK)、locSDK_4.1.jar(百度定位 SDK)等,项目默认编码GBK 编译版本4.4.2。源码注释一般。
文件夹 PATH 列表
卷序列号为 767E:D088
文件列表生成工具.bat
JavaApk源码说明.txt
点这里查看更多优质源码~.url
目录列表.txt
└─Weather
.classpath
AndroidManifest.xml
ic_launcher-web.png
locSDK_4.0.jar
proguard-project.txt
project.properties
├─.settings
org.eclipse.core.resources.prefs
org.eclipse.jdt.core.prefs
├─assets
BaiduNaviSDK_Resource_v1_0_0.png
AndroidManifest.xml
classes.dex
jarlist.cache
resources.ap_
Weather.apk
├─classes
├─dexedLibs
android-support-v4-f8d83e590c.jar
android-support-v4-6ed0a00c900e4533cfaa.jar
android_api_1.1_forsdk-b2fcc87ec17e86e14aa04.jar
android_api_1.1_forsdk-f2f9f79a4429819aaf2d932ab5ea7a63.jar
BaiduNaviSDK_v1_0_0-c0b25b0bfb5a9.jar
BaiduNaviSDK_v1_0_0-a9bd695f7d9f1f801d586f46ec61239b.jar
locSDK_4.1-aa23dee9c46c71a4849dd3b.jar
locSDK_4.1-81abeac81a31cad701e5.jar
need_lib-64a155bddf9cadbc993aefa2.jar
need_lib-d06f807cfe0ffc53cc90.jar
├─crunch
├─drawable-hdpi
ic_launcher.png
├─drawable-mdpi
cityselector_gridview_card.9.png
cityselector_locate_centigrade_0.png
cityselector_locate_centigrade_1.png
cityselector_locate_centigrade_2.png
cityselector_locate_centigrade_3.png
cityselector_locate_centigrade_4.png
cityselector_locate_centigrade_5.png
cityselector_locate_centigrade_6.png
cityselector_locate_centigrade_7.png
cityselector_locate_centigrade_8.png
cityselector_locate_centigrade_9.png
ic_launcher.png
main_image_location.png
number_bg.png
phoneedit_backgnd.png
├─drawable-xhdpi
ic_launcher.png
└─drawable-xxhdpi
ic_launcher.png
├─drawable-hdpi
ic_launcher.png
├─drawable-mdpi
cityselector_gridview_card.9.png
cityselector_locate_centigrade_0.png
cityselector_locate_centigrade_1.png
cityselector_locate_centigrade_2.png
cityselector_locate_centigrade_3.png
cityselector_locate_centigrade_4.png
cityselector_locate_centigrade_5.png
cityselector_locate_centigrade_6.png
cityselector_locate_centigrade_7.png
cityselector_locate_centigrade_8.png
cityselector_locate_centigrade_9.png
ic_launcher.png
main_image_location.png
number_bg.png
phoneedit_backgnd.png
├─drawable-xhdpi
ic_launcher.png
└─drawable-xxhdpi
ic_launcher.png
└─weather
BuildConfig.java
android-support-v4.jar
android_api_1.1_forsdk.jar
BaiduNaviSDK_v1_0_0.jar
locSDK_4.1.jar
need_lib.jar
└─armeabi
libapp_BaiduNaviApplib_v1_0_0.so
libCNPackage.so
libejTTS.so
liblocSDK4b.so
├─drawable-hdpi
ic_launcher.png
├─drawable-ldpi
├─drawable-mdpi
cityselector_gridview_card.9.png
cityselector_locate_centigrade_0.png
cityselector_locate_centigrade_1.png
cityselector_locate_centigrade_2.png
cityselector_locate_centigrade_3.png
cityselector_locate_centigrade_4.png
cityselector_locate_centigrade_5.png
cityselector_locate_centigrade_6.png
cityselector_locate_centigrade_7.png
cityselector_locate_centigrade_8.png
cityselector_locate_centigrade_9.png
ic_launcher.png
main_image_location.png
number_bg.png
phoneedit_backgnd.png
weather_bg1.jpg
weather_bg10.jpg
weather_bg2.jpg
weather_bg3.jpg
weather_bg4.jpg
weather_bg5.jpg
weather_bg6.jpg
weather_bg7.jpg
weather_bg8.jpg
weather_bg9.jpg
├─drawable-xhdpi
ic_launcher.png
├─drawable-xxhdpi
ic_launcher.png
├─layout
activity_weather.xml
weather.xml
├─values
dimens.xml
strings.xml
styles.xml
├─values-sw600dp
dimens.xml
├─values-sw720dp-land
dimens.xml
├─values-v11
styles.xml
└─values-v14
styles.xml
└─weather
BDLocationClient.java
DrawPicNum.java
WeatherActivity.java
WeatherHandler.java
WeatherInfo.java
WeatherSource.java
├─constant
GlobalConstants.java
NetworkUtils.java
您必须才能评论.
为什么天气的数据显示不出来
我有用百度地图定位,又想获得天
&&常见问题
&&充值交易
&&快捷通道
&&用户中心
· 鲁ICP备号-1· Powered by · Theme by JavaApkTM
· .21 queries in 0.432 secondsC#实现解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市的方法
投稿:shichen2014
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了C#实现解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市的方法,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了C#实现解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市的方法,分享给大家供大家参考。具体实现方法如下:
一、百度天气
接口地址:http://api./telematics/v3/weather?location=上海&output=json&ak=hXWAgbsCC9UTkBO5V5Qg1WZ9,其中ak是密钥,自行去申请即可,便于大家测试,楼主就公布并了自己的Key,这样可以直接获取到数据。
获取到的数据是这样的:
代码如下:{"error":0,"status":"success","date":"","results":[{"currentCity":"上海","pm25":"95","index":[{"title":"穿衣","zs":"较舒适","tipt":"穿衣指数","des":"建议着薄外套、开衫牛仔衫裤等服装。年老体弱者应适当添加衣物,宜着夹克衫、薄毛衣等。"},{"title":"洗车","zs":"较适宜","tipt":"洗车指数","des":"较适宜洗车,未来一天无雨,风力较小,擦洗一新的汽车至少能保持一天。"},{"title":"旅游","zs":"适宜","tipt":"旅游指数","des":"天气较好,温度适宜,但风稍微有点大。这样的天气适宜旅游,您可以尽情地享受大自然的无限风光。"},{"title":"感冒","zs":"较易发","tipt":"感冒指数","des":"天气较凉,较易发生感冒,请适当增加衣服。体质较弱的朋友尤其应该注意防护。"},{"title":"运动","zs":"较适宜","tipt":"运动指数","des":"天气较好,但风力较大,推荐您进行室内运动,若在户外运动请注意防风。"},{"title":"紫外线强度","zs":"弱","tipt":"紫外线强度指数","des":"紫外线强度较弱,建议出门前涂擦SPF在12-15之间、PA+的防晒护肤品。"}],"weather_data":[{"date":"周一 10月27日 (实时:19℃)","dayPictureUrl":"http://api./images/weather/day/duoyun.png","nightPictureUrl":"http://api./images/weather/night/duoyun.png","weather":"多云","wind":"东北风3-4级","temperature":"21 ~ 16℃"},{"date":"周二","dayPictureUrl":"http://api./images/weather/day/duoyun.png","nightPictureUrl":"http://api./images/weather/night/yin.png","weather":"多云转阴","wind":"东风微风","temperature":"21 ~ 17℃"},{"date":"周三","dayPictureUrl":"http://api./images/weather/day/xiaoyu.png","nightPictureUrl":"http://api./images/weather/night/xiaoyu.png","weather":"小雨","wind":"东风微风","temperature":"21 ~ 19℃"},{"date":"周四","dayPictureUrl":"http://api./images/weather/day/xiaoyu.png","nightPictureUrl":"http://api./images/weather/night/xiaoyu.png","weather":"小雨","wind":"东南风微风","temperature":"23 ~ 20℃"}]}]}
根据返回的Json定义出相应的数据结构:
代码如下:public class BaiduTQ
&&&&&&& public int error { }
&&&&&&& public string status { }
&&&&&&& public string date { }
&&&&&&& public List&BaiduResult& results { }
public class BaiduResult
&&&&&&& public string currentCity { }
&&&&&&& public string pm25 { }
&&&&&&& public List&BaiduIndex& index { }
&&&&&&& public List&BaiDuWeaterData& weather_data { }
public class BaiduIndex
&&&&&&& public string title { }
&&&&&&& public string zs { }
&&&&&&& public string tipt { }
&&&&&&& public string des { }
public class BaiDuWeaterData
&&&&&&& public string date { }
&&&&&&& public string dayPictureUrl { }
&&&&&&& public string nightPictureUrl { }
&&&&&&& public string weather { }
&&&&&&& public string wind { }
&&&&&&& public string temperature { }
然后直接通过Newtonsoft.Json 反序列化成即可。
既然是获取天气,肯定是希望获取客户所在城市的天气,下一步则是需要根据用户机器IP获取所在城市,然后获取该城市的天气信息。
二、IP获取城市
通过淘宝的IP库,/,即可查询指定IP所在的城市、国家、运营商等。
有了上面的途径,我们下一步的工作就是获取客户的外网IP,而外网IP,是机器连接外网才会有,所以楼主写了一个页面,部署在外网服务器。
相关代码如下:
代码如下:var ip = Request.UserHostA
using (var client = new WebClient())
&var url = "/service/getIpInfo.php?ip=" +
&client.Encoding = Encoding.UTF8;
&var str = client.DownloadString(url);
&Response.Write(str);
这样我们就可以获取到客户所在城市的天气数据了。
三、获取百度新闻
最近还有个小需求,获取某某新闻数据,楼主习惯性的查了下百度的相关资料,能通过Rss来获取百度新闻数据。
接口地址:/n?cmd=7&loc=0&name=%B1%B1%BE%A9&tn=rss
打开后,查看它的源,无非就是xml文件,我们可以将xml文件,序列化成对象,如果没有接触过这类知识,可以看下。
根据它的源,就能轻松定义出数据结构。
代码如下:[XmlRoot("rss")]
public class Rss
&&&&&&& public Channel channel { }
[XmlRoot("channel")]
public class Channel
&&&&&&& public string title { }
&&&&&&& public BaiduImage image { }
&&&&&&& public string link { }
&&&&&&& public string description { }
&&&&&&& public string language { }
&&&&&&& public string lastBuildDate { }
&&&&&&& public string docs { }
&&&&&&& public string generator { }
&&&&&&& [XmlElement]
&&&&&&& public List&Channel_Item& item { }
public class BaiduImage
&&&&&&& public string title { }
&&&&&&& public string link { }
&&&&&&& public string url { }
public class Channel_Item
&&&&&&& public string title { }
&&&&&&& public string link { }
&&&&&&& public string pubDate { }
&&&&&&& public string guid { }
&&&&&&& public string source { }
&&&&&&& public string author { }
&&&&&&& public string description { }
序列化的方法很简单。
代码如下:/// &summary&
/// 反序列化
/// &/summary&
public static T Deserialize&T&(string xmlContent)
&&& XmlSerializer xs = new XmlSerializer(typeof(T));
&&& using (StringReader strReader = new StringReader(xmlContent))
&XmlReader xmlReader = XmlReader.Create(strReader);
&return (T)xs.Deserialize(xmlReader);
完整实例代码点击此处。
希望本文所述对大家的C#程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 百度天气预报 的文章

 

随机推荐