Windows Phone 7 学习笔记------常用工具(二)

上一篇文章中不知道是怎么一会事,图片上在上传时失真了,这次把上一次的重新修改后与大家分享。

在本篇文章中也将介绍自己写的两个非常简单的小工具。

小工具一、QQ在线查询

我想大家对于QQ的了解,就不用多说了,可以查询到QQ隐身的好友,在线的好友就不用说了。在QQ本身是没有这个功能的,所以写这个实用的

功能与大家。

运行结果如下:

image                                                               image

代码:

private QQ.qqOnlineWebServiceSoapClient client = null;
        public QQuery()
        {
            InitializeComponent();
            client = new QQ.qqOnlineWebServiceSoapClient();
            InitServer();
            Loaded += (a, b) =>
            {
                txtQQ.Text = "399858803";
            };
        }

        private void InitServer()
        {
            client.qqCheckOnlineCompleted += (a, re) =>
            {
                if (re.Error == null)
                {
                    txtQQResult.Text = string.Format("当前QQ号:{0}\r\n{1}", txtQQ.Text, re.Result == "Y" ? "处于在线状态" : "处理离线状态");
                }
            };
        }

        private void btnQuery_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (!string.IsNullOrEmpty(txtQQ.Text))
            {
                client.qqCheckOnlineAsync(txtQQ.Text);
            }
        }

说明:代码是相当简单的,就是利用第三方提供的webServer服务。调用服务就可以就查询,并返回结果值。

小工具二、列车时刻查询

运行结果如下:

image                                                            image

运行代码:

private Train.TrainTimeWebServiceSoapClient clinet = null;
        public TrainQuery()
        {
            InitializeComponent();
            clinet = new Train.TrainTimeWebServiceSoapClient();
            InitServer();
            //txtTrain.Text = "2334";
        }

        private void InitServer()
        {
            clinet.getDetailInfoByTrainCodeCompleted += (a, re) =>
            {

                if (re.Error == null)
                {
                    txtResult.Text = re.Result.Nodes[0].Value;
                }
            };
        }

        private void btnQuery_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            // TODO: Add event handler implementation here.
            if (!string.IsNullOrEmpty(txtTrain.Text))
            {
                clinet.getDetailInfoByTrainCodeAsync(txtTrain.Text, "");
            }
            else
                clinet.getDetailInfoByTrainCodeAsync("", "");
        }

小工具三、IP地址查询工具

运行结果如下:

image                                                                      image

运行代码如下:

private IP.IpAddressSearchWebServiceSoapClient client = null;
        public IPQuery()
        {
            InitializeComponent();
            client = new IP.IpAddressSearchWebServiceSoapClient();
            InitServer();
        }

        private void InitServer()
        {
            client.getCountryCityByIpCompleted += (a, Re) =>
            {
                if (Re.Error == null)
                {
                    txtResult.Text = string.Format("当前IP{0}为:{1}", txtIPaddress.Text, Re.Result[1].ToString());
                }
            };
        }

        private void btnQuery_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            // TODO: Add event handler implementation here.
            if (!string.IsNullOrEmpty(txtIPaddress.Text))
            {
                client.getCountryCityByIpAsync(txtIPaddress.Text);
            }
        }

小工具四、邮政编码查询工具

运行结果如下:

image                                                                      image

运行代码如下:

private Zip.ChinaZipSearchWebServiceSoapClient client = null;
       public PostCodeQuery()
       {
           InitializeComponent();
           client = new Zip.ChinaZipSearchWebServiceSoapClient();
           InitServer();
       }

       private void InitServer()
       {
           client.getAddressByZipCodeCompleted += (a, re) =>
           {
               if (re.Error == null)
               {
                   txtResult.Text = re.Result.Nodes[0].Value;
               }
           };
       }

       private void btnQuery_Click(object sender, System.Windows.RoutedEventArgs e)
       {
           // TODO: Add event handler implementation here.
           if (!string.IsNullOrEmpty(txtPostCode.Text))
           {
               client.getAddressByZipCodeAsync(txtPostCode.Text, "");
           }
       }
 
上面的程序代码都很简间,只要用到了WP7 的Piovt进行左右进行滑动。功能简单但在生活中很实用。其中全都是用到了第三方提供的webserver服务。每一个服务中都提供了很多的方面,供我们使用。关于服务中的方法与使用请参见http://www.webxml.com.cn/zh_cn/web_services.aspxp 这里提供了更加详细的说明。
 
在项目中还有几个没有实现的小工具,有兴趣的朋友可以下载源码,进行完善。在小工具中,没有进行页面的美化,以实现为原则,如果你的美术功底深厚,这就是你展示你才华的地方。
 
本程序是学习过程中的学习笔记,在程序中难免有不足的地方希望大家正一起交流学习。
源代码:http://cid-904fa9b9fc4c059f.office.live.com/self.aspx/Windows%20Phone%207/WP7Demo.zip
 
 
posted @ 2011-04-26 21:58  阳光追梦  阅读(2337)  评论(2编辑  收藏  举报
/*快速评论*/ #div_digg { position: fixed; bottom: 10px; right: 15px; border: 2px solid #ECD7B1; padding: 10px; width: 140px; background-color: #fff; border-radius: 5px 5px 5px 5px !important; box-shadow: 0 0 0 1px #5F5A4B, 1px 1px 6px 1px rgba(10, 10, 0, 0.5); } /** 不知道为什么页面加载完成时还读不到div_digg。可能也是动态生成的。 所以这里只能用定时器 不断的读取,当读取到了再给它动态添加快捷按钮 **/ //自定义 定时器[当元素加载完成是执行回调函数] function customTimer(inpId,fn) { if ($(inpId).length) { fn(); } else { var intervalId = setInterval(function () { if ($(inpId).length) { //如果存在了 clearInterval(intervalId); // 则关闭定时器 customTimer(inpId,fn); //执行自身 } }, 100); } } //页面加载完成是执行 $(function () { customTimer("#div_digg", function () { var div_html = "
\ 关注\  | \ 顶部\  | \ 评论\
"; $("#div_digg").append(div_html); //tbCommentBody }); });