如果你采购了smartphone手机,并且是windows mobile操作系统,那么就一定要试试开发自己的软件,自己玩。
本文就是讲述如何用vs.net 2003 开发windows mobile 操作系统 smartphone智能手机上的应用程序的,需要基础知识:vs.net 2003下c# winform 程序的基本开发;理解webservice的基本概念和使用;熟悉smartphone使用;了解vs.net 2003开发smartphone程序的环境配置。
[separator]
你还要有几个概念:
开发wm (windows mobile)程序可以用原生代码,比如evc,evb,我们用.net,能够跨cpu,而且现在windows mobile操作系统本来就有 .net compact frameworks,也就是大家称呼的.net cf了。
在配置上我会另外写文章讲解开发环境配置,也会另外写文章讲解手机操作系统的发展特别是微软的手机操作系统发展,也会讲解使用智能手机的手机品牌和相应的制造商,不过这些恐怕一个话题都是一到多篇文章哦,有时间了一定写。
好,进入正题,
你要保证你的电脑是2000/xp/2003,然后安装了vs.net 2003 ,然后安装了smartphone sdk,然后安装了微软同步软件 microsoft active sync,然后安装一个中文版本的模拟机。如果你是windows xp,很不幸,由于硬件执行保护,你最好还要把这个关闭了,因为微软自己的vitual pc 居然被xp sp2不支持,这个问题又要写一篇文章!反正你就关闭了先。当然,你还可以用vs.net 2005 ,这个又是另外的文章写了!!!
记得今天我们的智能手机用dopod的515,535,565,575,585 都可以哈!
好了,我们今天作一个实时股票查询软件。
smartphone开发的界面不是很好看,如果大家用vs.net 2005会惊奇的发现开发界面和手机上看到的一模一样,我们还是先看vs.net 2003的。左边工具箱里面的很多控件都不可以用了哈,另外也没有按钮可以用了。菜单记得只有左软键和右软键,一般左软键都只要一个功能,右软键一般都可以是挂二级菜单的,呵呵。不过beta player就是左右开弓,都有二级菜单。
然后就增加web引用,国内的ws提供商很~~~少,必须自己写,下一课讲解。
今天先引用微软提供的nasdaq股票查询webservice。
地址:http://www.webservicex.net/stockquote.asmx?op=GetQuote
然后就编码了,我们上面采用了combobox,比如微软的股票代码是msft,但是我们显示成为微软,这里用了一个datatable,建立对应,熟悉combobox控件就可以了,大概代码如下:
DataTable dt = new DataTable(); dt.Columns.Add("CODE"); dt.Columns.Add("NAME"); dt.Rows.Add(new object[]{"MSFT","微软"}); dt.Rows.Add(new object[]{"BIDU","百度"}); dt.Rows.Add(new object[]{"GOOG","GOOGLE"}); dt.Rows.Add(new object[]{"CHINA","中华网"}); dt.Rows.Add(new object[]{"ASIA","亚信"}); dt.Rows.Add(new object[]{"SOHU","搜狐"}); comboBox1.DataSource = dt; comboBox1.DisplayMember = "NAME"; comboBox1.ValueMember = "CODE"; |
这段代码放到public Form1() 构造函数里面就可以了。
然后就是查询代码了:
private void menuItem1_Click(object sender, System.EventArgs e) //光标切换,smartphone就只有两种cursor哈
//调用ws方法 //在类成员已经定义了: //stockquote.StockQuote sq = new SmartStock.stockquote.StockQuote();
//返回的是xml,所以程序记得引用 //using System.Xml; System.Xml.XmlDocument xd = new System.Xml.XmlDocument(); //把last节点里面的最新价格打出来 XmlNodeList elemList = xd.GetElementsByTagName("Last"); //捕捉错误 //记得恢复光标 } |
好了,大功告成,运行!
这个界面要点好几次。
这里特别要提醒,如果在虚拟机里面运行,请把虚拟机的数据连接,工作选择那里选择netcard,这个虚拟手机才会通过微软同步工具,获得一个临时ip,走的你电脑的网卡哦!
然后就可以查询了!
比如这个时刻的微软股票,百度股票价格,google股票价格
下面是真实手机运行的效果:
google的股票价格不得了……
特别提醒:如果你是个无线笔记本用户,虚拟机找不到网卡的,必须插线!
下一个版本的模拟机好像解决了这个问题,算不算bug?
如果你是个wap包月用户,你可以设置ws的代理了,代码如下: //sq是你实例化的webservice sq.Proxy = new System.Net.WebProxy("10.0.0.172",80); 这个就是中国移动wap包月用户的http代理哦
|
最大的乐趣就是随时随地查询信息了,根据这个开发原理,大家可以开发出如下的天气预报软件,中国内地股票查询软件,企业内部订单查询软件……
下次贡献软件给大家哈!