基于Web 服务的天气预报查询系统
(1) Web Service 地址:
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
(2) 增加WebService引用
(3) 天气预报图例说明
http://www.webxml.com.cn/zh_cn/weather_icon.aspx
(4) PDA界面如下所示:
(5) 根据getWeatherbyCityName方法获得天气信息
调用方法如下:输入参数:theCityName = 城市中文名称(国外城市可用英文)或城市代码(不输入默认为上海市),如:上海 或 58367,如有城市名称重复请使用城市代码查询(可通过 getSupportCity 或 getSupportDataSet 获得);返回数据: 一个一维数组 String(22),共有23个元素。
String(0) 到 String(4):省份,城市,城市代码,城市图片名称,最后更新时间。String(5) 到
String(11):当天的 气温,概况,风向和风力,天气趋势开始图片名称(以下称:图标一),天气趋势结束图片名称(以下称:图标二),现在的天气实况,天气和生活指数。String(12) 到 String(16):第二天的气温,概况,风向和风力,图标一,图标二。String(17) 到 String(21):第三天的 气温,概况,风向和风力,图标一,图标二。String(22) 被查询的城市或地区的介绍
代码如下:
 代码
代码 
string city = this.lblCurrentCity.Text.Trim();
SmartDeviceProject2.cn.com.webxml.www.WeatherWebService web_service = new SmartDeviceProject2.cn.com.webxml.www.WeatherWebService();
string[] info = web_service.getWeatherbyCityName(city);
for (int i = 0; i < info.Length; i++)
{
label2.Text += info[i].ToString();
}
(6) 天气图标显示
根据天气预报图例说明,创建资源目录,目录名称是Resources。拷贝图标文件到对应的目录下面。在资源文件中选择“图像”把图标增加拷贝到资源文件里面。
(7) 代码编写如下:
 代码
代码 
string pic2Str = info[9].Trim();
this.pic1.Image = GetPicture(pic1Str);
this.pic2.Image = GetPicture(pic2Str);
private Bitmap GetPicture(string pic_name)
{
switch (pic_name)
{
case "0.gif": return SmartDeviceProject2.Properties.Resources.b_0;
case "1.gif": return SmartDeviceProject2.Properties.Resources.b_1;
case "2.gif": return SmartDeviceProject2.Properties.Resources.b_2;
case "3.gif": return SmartDeviceProject2.Properties.Resources.b_3;
case "4.gif": return SmartDeviceProject2.Properties.Resources.b_4;
case "5.gif": return SmartDeviceProject2.Properties.Resources.b_5;
case "6.gif": return SmartDeviceProject2.Properties.Resources.b_6;
case "7.gif": return SmartDeviceProject2.Properties.Resources.b_7;
case "8.gif": return SmartDeviceProject2.Properties.Resources.b_8;
case "9.gif": return SmartDeviceProject2.Properties.Resources.b_9;
case "10.gif": return SmartDeviceProject2.Properties.Resources.b_10;
case "11.gif": return SmartDeviceProject2.Properties.Resources.b_11;
case "12.gif": return SmartDeviceProject2.Properties.Resources.b_12;
case "13.gif": return SmartDeviceProject2.Properties.Resources.b_13;
case "14.gif": return SmartDeviceProject2.Properties.Resources.b_14;
case "15.gif": return SmartDeviceProject2.Properties.Resources.b_15;
case "16.gif": return SmartDeviceProject2.Properties.Resources.b_16;
case "17.gif": return SmartDeviceProject2.Properties.Resources.b_17;
case "18.gif": return SmartDeviceProject2.Properties.Resources.b_18;
case "19.gif": return SmartDeviceProject2.Properties.Resources.b_19;
case "20.gif": return SmartDeviceProject2.Properties.Resources.b_20;
case "21.gif": return SmartDeviceProject2.Properties.Resources.b_21;
case "22.gif": return SmartDeviceProject2.Properties.Resources.b_22;
case "23.gif": return SmartDeviceProject2.Properties.Resources.b_23;
case "24.gif": return SmartDeviceProject2.Properties.Resources.b_24;
case "25.gif": return SmartDeviceProject2.Properties.Resources.b_25;
case "26.gif": return SmartDeviceProject2.Properties.Resources.b_26;
case "27.gif": return SmartDeviceProject2.Properties.Resources.b_27;
case "28.gif": return SmartDeviceProject2.Properties.Resources.b_28;
case "29.gif": return SmartDeviceProject2.Properties.Resources.b_29;
case "30.gif": return SmartDeviceProject2.Properties.Resources.b_30;
case "31.gif": return SmartDeviceProject2.Properties.Resources.b_31;
}
return SmartDeviceProject2.Properties.Resources.b_nothing;
}
(8) 模拟器测试,注意联网设置:
查询的时候,友好的用户体验代码如下:
天气预报查询
Cursor.Current = Cursors.Default;
 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号