windows phone 开篇(1)
引言
最近大家都在关注着微软发布的全新手机操作系统—Windwos Phone 7,她与众不同的界面流畅的操作方式,大气时尚的布局深深的吸引着广大消费者,也深深的吸引着我们大多数的开发人员,许多博友都已着手写了许多关于Windows Phone的技术开发文档,那么我也不例外,由于我对移动设备软件的开发有着很重的偏爱,所以我也将我在开发当中所遇到的问题和经验发表出来与大家分享交流。
先前了解过一些Windows Mobile的知识,但由于近年来IPhone和Android对WM的冲击使WM失去了许多市场,开发人员也都放弃了WM,大家都调侃说“我们总不能一直守着WM的面孔一起慢慢变老”,呵呵,现如今Windows Phone 7来了,又让我们有了信心,虽然目前支持Windows Phone的应用还非常的少,但我相信经过大家的努力一定会为Windows Phone争得更大的市场!!
Windows Phone 7 开发环境
Windows Phone 7平台的应用开发是以SilverLight为基础,但也并非完全相同,如果有过对WPF或SilverLight开发基础的技术人员应该能很快入手的。
安装Windows Phone Developer Tools必须要求系统为Windows Vista SP2或Windows 7以上操作系统。
2011年9月份微软面向开发者正式发布了Windows Phone Developer Tools 7.1的RTW版(点击下载),如果已安装了Visual Studio 2010 RTM版需要先打VS2010 SP1补丁,如果未安装Visual Studio 2010可以直接安装Windows Phone Developer Tools 7.1,安装完成以后会自带Microsoft Visual Studio 2010 Express for Windows Phone和Microsoft Expression Blend 4开发环境。
对Windows Phone的开发可以通过Visual Basic和C#语言进行代码编写,此博客所发表的文章都以C#语言所编写。
Windows Phone 7程序简介
如何新建就不多说了,有过Visual Studio IDE经验的开发人员一上手就会,创建完以后如上图所示,左侧是Windows Phone的仿真器,右侧为界面代码编辑区,是以XAML语言形式程现的。
Solution Explorer
- AppManifest.xml:一般在vs中,AppManifest.xml基本就是空的,没有具体内容,build 时候vs根据你使用的程序集情况,生成AppManifst.xaml
- AssemblyInfo.cs:设定应用程序的常规信息,如应用程序名称,公司,作者,版本等等
- WMAppManifest.xml:这个档案是记录了应用程式的相关属性描述,以及定义应用程式的功能性,详见Application Manifest File for Windows Phone
- APP.xaml应用程序定义:里面包含了Launching,Closing,Activated,Deactivatedg自动生成的四个应用程序的运行周期事件,分别代表启动,关闭,活动状态和非活动状态,事件代码可在App.xaml.cs里进行定义,其中还包含了应用程序的异常捕捉事件和完成初始化应用程序时事件
- ApplicationIcon.png:默认应用程序图标
- Background.png:默认应用程序大图标
- MainPage.xaml:应用程序主界面
- SplashScreenImage.jpg:启动应用程序时的等待界面
Develop Explorer
如上图所示,在代码编辑区的下面我们看到了一段被注释起来的代码行,这段代码行是手机系统应用程序的工具栏,包括了工具栏按钮和菜单,这些是与上面的SilverLight层次分开的,将注释去掉运行后如下图
如你所看到的两个按钮和两个菜单项,但按钮没有图标,要添加按钮的图标很简单,你可以使用自己制作的图标,也可以通过Expression Blend 4来添加。
xap
我们怎么把编写好的应用程序发布和安装呢?将目录导航到应用程序的Debug目录下,发现会有一个扩展名为xap的文件,这个文件就是已经打包好的应用程序包,有过SilverLight开发经验的开发人员都知道,这个文件实际上就是一个ZIP压缩包,可以在文件名最后加上.zip即可将其解压,把这个文件放在手机上即可进行安装。
还可以通过Application Deployment工具对xap文件进行部署运行,如下图
结尾语
Windows Phone Emulator 非常的占用内存和CPU的使用率,建议在搞Windows Phone开发之前先把硬件提升起来。
有讲得不当的地方希望大家多多提出来!多谢各位浏览我的博客。