wp7天气预报源代码(二序列化谷歌数据)公布源代码下载地址

原创 2012年03月27日 22:32:27

在上一篇文章里已经介绍了这个应用

文章源地址:http://www.cnblogs.com/wildfeng/archive/2012/03/21/2410504.html

145236789

由于代码过多,和繁杂的前台页面效果代码,没办法在博文中说明白,还有很多网友要求我公布源代码项目。在文章的最下面我提供了源代码的下载地址。

作者QQ:29992379

这个天气预报用的是谷歌的API,我特意写了个工具类用来序列化返回的数据,本文中主要介绍这个工具类。

image

代码如下:

public static class GoogleWeatherHelper
    {

        /// <summary>
        /// 获取城市以及省
        /// </summary>
        /// <param name="xmlWeather">xml数据</param>
        /// <returns></returns>
        public static string GetCity(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_information").First();
            return forecast_information.Element("city").Attribute("data").Value;
        }
        /// <summary>
        /// 获取中文城市名称
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetPostalCode(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_information").First();
            return forecast_information.Element("postal_code").Attribute("data").Value;
        }
        /// <summary>
        /// 获取预报的日期
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetForecastDate(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_information").First();
            return forecast_information.Element("forecast_date").Attribute("data").Value;
        }
        /// <summary>
        /// 获取湿度
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetHumidity(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("current_conditions").First();
            return forecast_information.Element("humidity").Attribute("data").Value;
        }
        /// <summary>
        /// 获取风向
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetWindCondition(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("current_conditions").First();
            return forecast_information.Element("wind_condition").Attribute("data").Value;
        }
        /// <summary>
        /// 获取今天星期
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetTodayWeek(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").First();
            return forecast_information.Element("day_of_week").Attribute("data").Value;
        }
        /// <summary>
        /// 获取今天最低温度
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetTodayLow(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").First();
            return forecast_information.Element("low").Attribute("data").Value;
        }
        /// <summary>
        /// 获取今天最高温度
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetTodayHight(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").First();
            return forecast_information.Element("high").Attribute("data").Value;
        }
        /// <summary>
        /// 获取今天天气图标
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetTodayIcon(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").First();
            return ExtractFileName(forecast_information.Element("icon").Attribute("data").Value);
        }
        /// <summary>
        /// 获取今天天气情况
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetTodayCondition(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").First();
            return forecast_information.Element("condition").Attribute("data").Value;
        }
        /// <summary>
        /// 获取明天星期
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetTomorrowWeek(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(1);
            return forecast_information.Element("day_of_week").Attribute("data").Value;
        }
        /// <summary>
        /// 获取明天最低温度
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetTomorrowLow(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(1);
            return forecast_information.Element("low").Attribute("data").Value;
        }
        /// <summary>
        /// 获取明天最高温度
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetTomorrowHight(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(1);
            return forecast_information.Element("high").Attribute("data").Value;
        }
        /// <summary>
        /// 获取明天天气图标
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetTomorrowIcon(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(1);
            return ExtractFileName(forecast_information.Element("icon").Attribute("data").Value);
        }
        /// <summary>
        /// 获取明天天气情况
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetTomorrowCondition(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(1);
            return forecast_information.Element("condition").Attribute("data").Value;
        }
        /// <summary>
        /// 获取后天星期
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetHouTianWeek(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(2);
            return forecast_information.Element("day_of_week").Attribute("data").Value;
        }
        /// <summary>
        /// 获取后天最低温度
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetHouTianLow(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(2);
            return forecast_information.Element("low").Attribute("data").Value;
        }
        /// <summary>
        /// 获取后天最高温度
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetHouTianHight(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(2);
            return forecast_information.Element("high").Attribute("data").Value;
        }
        /// <summary>
        /// 获取后天天气图标
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetHouTianIcon(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(2);
            return ExtractFileName(forecast_information.Element("icon").Attribute("data").Value);
        }
        /// <summary>
        /// 获取后天天气情况
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetHouTianCondition(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(2);
            return forecast_information.Element("condition").Attribute("data").Value;
        }
        /// <summary>
        /// 获取大后天星期
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetDaHouTianWeek(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(3);
            return forecast_information.Element("day_of_week").Attribute("data").Value;
        }
        /// <summary>
        /// 获取大后天最低温度
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetDaHouTianLow(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(3);
            return forecast_information.Element("low").Attribute("data").Value;
        }
        /// <summary>
        /// 获取大后天最高温度
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetDaHouTianHight(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(3);
            return forecast_information.Element("high").Attribute("data").Value;
        }
        /// <summary>
        /// 获取大后天天气图标
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetDaHouTianIcon(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(3);
            return ExtractFileName(forecast_information.Element("icon").Attribute("data").Value);
        }
        /// <summary>
        /// 获取大后天天气情况
        /// </summary>
        /// <param name="xmlWeather"></param>
        /// <returns></returns>
        public static string GetDaHouTianCondition(XElement xmlWeather)
        {
            XElement forecast_information = xmlWeather.Descendants("forecast_conditions").ElementAt(3);
            return forecast_information.Element("condition").Attribute("data").Value;
        }

        private static string ExtractFileName(string fullFileName)
        {
            string str = fullFileName.Substring(fullFileName.LastIndexOf('/') + 1);
            return str.Substring(0, str.LastIndexOf('.')).Replace("cn_", "");
        }
    }

整个天气预报项目源代码的下载地址:http://download.csdn.net/detail/wildfeng04/4168595

在以后的博文里我会详细讲解这个应用UI方面的实现,毕竟这个应用亮点全在UI上面。我个人是这么理解的,因为功能代码不是很难,UI的效果比较炫。我用了Storyboard来实现了一些效果。

原文中地址:http://www.cnblogs.com/wildfeng/archive/2012/03/24/2415327.html

Android终于公布源代码

非常高兴看到Android公布源代码,虽然这证明我对于android开放性的质疑是错误(其它观点保留)。http://source.android.com/posts/opensourceAndroi...
  • absurd
  • absurd
  • 2008年10月22日 07:47
  • 3530

iOS 天气应用代码中文介绍

天气应用 解释请求参数 q: 表示Location(可以给出城市名字;或者直接给城市的经纬度) 例子:q=beijing 例子 q=48.834,2.394 num_of_days: 需...
  • Lemon_xiao
  • Lemon_xiao
  • 2016年04月21日 18:35
  • 582

战旗类DotA游戏原代码及项目报告

C语言程序设计实践的课程设计我们写了个游戏,差点拿满分,先将代码与项目报告与大家分享^_^先上截图:   游戏名称:DotA圣战类型:回合制RPG战棋类游戏分工:     SwordHoly:游戏主程...
  • SwordHoly
  • SwordHoly
  • 2010年01月03日 14:12
  • 4957

wp7天气预报源代码(三UI的制作)下载地址更新

天气预报的部分代码公布到了博客后,很多网友就要求喜欢能下载到整个项目。昨天早上把源代码传到了csdn,晚上写了一篇博文介绍序列化谷歌数据的工具类,顺便把整个项目的源代码下载地址加上了。 很多网友...
  • wildfeng04
  • wildfeng04
  • 2012年03月29日 16:50
  • 781

Android项目之天气预报 的实现分析

Android项目之天气预报 的实现分析 输入要查询的城市名称,点击查询按钮后,依次出现七天的天气情况。出现时有动画效果 二、实现过程 (一)获取天气预报数据 1、首先搞定天气预报数据来源的问...
  • zhupengqq
  • zhupengqq
  • 2016年06月02日 13:30
  • 5533

iOS天气预报Demo

简单的天气预报demo,调用了百度的天气预报接口,预报城市可通过CoreLocation定位与手动添加。 Demo素材与页面设计参考安卓天气软件WayHoo。 截图: Demo地址: ...
  • WorthyZhang
  • WorthyZhang
  • 2015年06月14日 16:45
  • 3914

【项目源码】- 【天气预报】模仿魅族系统天气预报android

这个天气预报主要学习下网络方面的东西,比如json数据的读取,了解网络的一些知识。 其中还涉及的知识点包括:  动画的操作,如入云的移动用的translateAnimation , 还有...
  • wduj123
  • wduj123
  • 2016年05月03日 10:56
  • 7868

分享一个源码下载网站,天气预报项目源码,比较适合新手学习

本项目是一个天气预报项目源码,可以设置城市、可以更换应用内背景图片、自带天气widget小组件等,天气信息由m.weather.com.cn提供。比较适合新手学习和参考。项目编译版本4.2.2默认编码...
  • c1782746138
  • c1782746138
  • 2014年09月10日 14:39
  • 1834

gcc 源码包下载地址

http://ftp.gnu.org/ http://ftp.gnu.org/gnu/gcc
  • kakaxi2222
  • kakaxi2222
  • 2015年06月23日 19:10
  • 186

android天气预报源码

最近写了一个天气预报的软件,首先分析其具有的功能: 1.可以罗列全国各省各市个县。 2.可以获得全国的天气情况。 3.可以在城市之间自由切换天气。 4.可以手动更新天气。 一、首先来说如何罗...
  • bi_diu1368
  • bi_diu1368
  • 2016年05月16日 21:18
  • 1725
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:wp7天气预报源代码(二序列化谷歌数据)公布源代码下载地址
举报原因:
原因补充:

(最多只允许输入30个字)