zoukankan      html  css  js  c++  java
  • WP7开发第一课:WP7项目组织结构&简单登陆例子(其一)

    源地址:http://www.cnblogs.com/zhangdongzi/archive/2011/08/25/2153775.html 

    上2篇文章已经说明了WP7的软件生命周期,当然我们可能记得不太清楚,没关系,时间能帮我们记住,只要在以后开过程中,多多接触,就行了,现在觉得做一般水平程序员不难,只要熟悉类库API就行了,熟能生巧,当然如果你要成为高级程序员,那就不只是熟悉API那么简单的了,好了,我们开发吧。

     一:准备好开发环境,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资源等。也定义了软件生命周期的各个事件,

    <shell:PhoneApplicationService
                Launching="Application_Launching" Closing="Application_Closing"
                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 的一些特殊属性,定义可用能力,让它支持比如游戏服务、本地化、网络链接、浏览器等功能;  默认启动界面任务类;还可以定义应用程序的图片等.

    <Capabilities>
          <Capability Name="ID_CAP_GAMERSERVICES"/>
          <Capability Name="ID_CAP_IDENTITY_DEVICE"/>
          <Capability Name="ID_CAP_IDENTITY_USER"/>
          <Capability Name="ID_CAP_LOCATION"/>
          <Capability Name="ID_CAP_MEDIALIB"/>
          <Capability Name="ID_CAP_MICROPHONE"/>
          <Capability Name="ID_CAP_NETWORKING"/>
          <Capability Name="ID_CAP_PHONEDIALER"/>
          <Capability Name="ID_CAP_PUSH_NOTIFICATION"/>
          <Capability Name="ID_CAP_SENSORS"/>
          <Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>
          <Capability Name="ID_CAP_ISV_CAMERA"/>
          <Capability Name="ID_CAP_CONTACTS"/>
          <Capability Name="ID_CAP_APPOINTMENTS"/>
        </Capabilities>
        <Tasks>
          <DefaultTask  Name ="_default" NavigationPage="MainPage.xaml"/>
        </Tasks>
        <Tokens>
          <PrimaryToken TokenID="PhoneAppToken" TaskName="_default">
            <TemplateType5>
              <BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
              <Count>0</Count>
              <Title>PhoneApp</Title>
            </TemplateType5>
          </PrimaryToken>
        </Tokens>
      </App>
    </Deployment>

  • 相关阅读:
    oracle 导入数据时提示只有 DBA 才能导入由其他 DBA 导出的文件
    oracle 常用语句
    android udp 无法收到数据 (模拟器中)
    android DatagramSocket send 发送数据出错
    AtCoder ABC 128E Roadwork
    AtCoder ABC 128D equeue
    AtCoder ABC 127F Absolute Minima
    AtCoder ABC 127E Cell Distance
    CodeForces 1166E The LCMs Must be Large
    CodeForces 1166D Cute Sequences
  • 原文地址:https://www.cnblogs.com/linlf03/p/2246761.html
Copyright © 2011-2022 走看看