WindowsPhone项目组织结构&简单登陆例子(上)

移动开发
这里主要是软件生命周期中事件实现,已经保存全局变量或者数据等(比如:登陆用户账号,密码等),同时也包括了软件顶级容器:PhoneApplicationFrame。以上可以看出App主要是保存或者是定义全局的地方,你写程序的时候可以考虑需要保存全局的。

一:准备好开发环境,win7+VS2010sp1+wp7 sdk7.1

注释:操作系统是必须是WIN7的,当然XP上安装VS2010 Express for window phone 也是有的。可参考:http://www.iwp7.com/archives/3882

我这里用的是WP7 SDK7.1RC版,最新的,增加了500多项新特性。下载地址是:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27153

我用的是旗舰版本的VS2010,因为它自带了很多东西提供开发使用,不单是WP7支持,很遗憾的是我在安装VS2O10后再安装WP7 SDK 7.1RC 竟然报不能安装,它需要的是SP1支持,所以呢,我就更新了开发工具为VS2010SP1,大家也麻烦点吧。地址是:http://www.microsoft.com/download/en/details.aspx?id=23691

介绍完开发工具后,我们就来开发吧,其实安装时需要很长时间的。

 二:File-->New Project,我们会看到许多项目模板,这里我们先选择第一项window phone application吧。

1:window phone application:标准的单页面WP7应用程序。

2:window phone Databound  application:多页面WP7应用程序。它提供了一个Title 和Summary --(标题栏、备注栏),然后在以LIST列表方式呈现出来.

3:window phone class library :提供使用的类库,这是作为用户封装类库项5目使用的。

4:Windows Phone Panorama Application:全景图的应用程序开发模板,针对屏幕比较小但要显示大内容的时用到,我们可以拖动画面来查看全部内容。

5:Windows Phone Pivot Application:把Application 界面当成圆形转轮,在里面的父窗口都是以一个轴为中心点,不管用户怎么选择都会轮换切换。类似于Tab.

6:其它的比如播放器使用的就不一一介绍了。

 三:认识项目。

这里我们一一说明:

1:App

App.xaml:这里主要存放一些全局使用的资源,比如样式Style资源等。也定义了软件生命周期的各个事件,

  1. <shell:PhoneApplicationService  
  2.             Launching="Application_Launching" Closing="Application_Closing"  
  3.             Activated="Application_Activated" Deactivated="Application_Deactivated"/> 

App.xaml.cs:这里主要是软件生命周期中事件实现,已经保存全局变量或者数据等(比如:登陆用户账号,密码等),同时也包括了软件顶级容器:PhoneApplicationFrame

以上可以看出App主要是保存或者是定义全局的地方,你写程序的时候可以考虑需要保存全局的。:

2:MainPage

MainPage.xaml:主要是定义软件的UI界面,是个“分部类”,是继承phone:PhoneApplicationPage  页面的。在这里我们一般是书写软件的UI,当然也可以保存Style资源,动画资源,但这个是局部的,在本界面有效。

  • xmlns 默认的空间,如果在UI里面控件没有前缀则代表它属于默认的名字空间。例如,mainPages 里面的Grid 标签。
  • xmlns:x代表专属的名字空间,比如一个控件里面有一个属性叫name 那么 x:name 则代表这个name 代表xaml的名字空间。
  • xmlns:phone 包含在Miscroft.phone 的引用DLL
  • xmlns:shell 包含在Miscroft.sell的引用DLL,此文件可以帮助我们管理就用的生命周期。
  • xmlns:d 呈现一些设计时的数据,而应用真正运行起来时会帮我们忽略掉这些运行时的数据,比如下文件的d:DesignWidth="480" d:DesignHeight="768"然后在如下的名字空间会忽略掉这些数据。
  • xmlns:mc 布局的兼容性,这里主要配合xmlns:d 使用,它包含Ignorable属性,可以在运行时忽略掉这些设计时的数据。

MainPage.xaml.cs:这个内置类,与MainPage.xaml合并为一个类,这里主要是书写C#,VB代码的地方,以及处理事件,播放动画等等。

3:ApplicationIcon.png(应用程序ICON),Background.png(程序ICon背景),SplashScreenImage.jpg(加载欢迎页面图)

4:AppManifest.xml:

应用列表,会打包并发布,文件作用是把我们需要布署和发布的所有文件列表列出来。

5:AssemblyInfo.cs:程序集中包含的软件名称、语言版本以及公司信息等。
6:WMAppManifest.xml:包含了Wp7 的一些特殊属性,定义可用能力,让它支持比如游戏服务、本地化、网络链接、浏览器等功能;  默认启动界面任务类;还可以定义应用程序的图片等.

  1. <Capabilities> 
  2.       <Capability Name="ID_CAP_GAMERSERVICES"/> 
  3.       <Capability Name="ID_CAP_IDENTITY_DEVICE"/> 
  4.       <Capability Name="ID_CAP_IDENTITY_USER"/> 
  5.       <Capability Name="ID_CAP_LOCATION"/> 
  6.       <Capability Name="ID_CAP_MEDIALIB"/> 
  7.       <Capability Name="ID_CAP_MICROPHONE"/> 
  8.       <Capability Name="ID_CAP_NETWORKING"/> 
  9.       <Capability Name="ID_CAP_PHONEDIALER"/> 
  10.       <Capability Name="ID_CAP_PUSH_NOTIFICATION"/> 
  11.       <Capability Name="ID_CAP_SENSORS"/> 
  12.       <Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/> 
  13.       <Capability Name="ID_CAP_ISV_CAMERA"/> 
  14.       <Capability Name="ID_CAP_CONTACTS"/> 
  15.       <Capability Name="ID_CAP_APPOINTMENTS"/> 
  16.     </Capabilities> 
  17.     <Tasks> 
  18.       <DefaultTask  Name ="_default" NavigationPage="MainPage.xaml"/> 
  19.     </Tasks> 
  20.     <Tokens> 
  21.       <PrimaryToken TokenID="PhoneAppToken" TaskName="_default"
  22.         <TemplateType5> 
  23.           <BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI> 
  24.           <Count>0</Count> 
  25.           <Title>PhoneApp</Title> 
  26.         </TemplateType5> 
  27.       </PrimaryToken> 
  28.     </Tokens> 
  29.   </App> 
  30. </Deployment> 

查看下篇:WindowsPhone项目组织结构&简单登陆例子(下)

责任编辑:闫佳明 来源: oschina
相关推荐

2013-04-10 10:48:56

2009-07-16 15:14:27

WebWork用户登陆

2009-07-24 15:46:00

ASP.NET登陆控件

2014-09-29 09:31:35

Angular

2023-12-05 07:26:21

Golang项目结构

2011-07-20 09:27:37

Scala

2009-11-10 17:31:38

VB.NET注册表

2009-12-22 13:50:00

2011-03-08 13:52:25

Proftpd

2010-04-21 17:20:03

Unix远程

2010-08-18 08:21:49

Adobe AIRAndroid

2012-02-14 10:46:15

WP Marketpl杂志月刊

2009-12-15 17:28:58

戴尔互联课堂

2009-02-18 22:19:24

AD用户登陆实现限制

2012-11-07 10:09:11

组件技术OAuth授权登陆

2018-02-24 14:00:42

TensorFlow数学计算机器学习

2011-02-25 17:07:25

2009-01-12 17:34:11

服务器虚拟化VMware

2010-11-22 17:41:39

Ubuntu OneWindows

2012-05-24 13:39:11

Python
点赞
收藏

51CTO技术栈公众号