zoukankan      html  css  js  c++  java
  • windows phone7简介

    摘要

    Windows Phone 7 是 Microsoft 推出的全新智能型手机操作系统,不但具有新颖的用户接口,也支持整合当红的社交网站与微网志,内建搜寻功能,LBS (Location-Based Service) 适地性服务,视讯与音乐播放功能,先进而且具高度生产力的游戏开发支持,以及多点触控控制等等,是 Microsoft 逐鹿智能型手机巿场的重要先锋。在这一篇文章中我们将要为大家介绍开发 Windows Phone 7 智能型手机应用程序的基本知识与相关工具,开启开发 Windows Phone 7 应用程序的大门。

    [环境安装]

    欲开发 Microsoft 最新的 Windows Phone 7 智能型手机应用程序,您必须先下载并安装 Windows Phone Developer Tools 套件,再利用 Windows Phone Developer Tools 套件提供的 Visual Studio 2010 Express 进行开发 Windows Phone 7 智能型手机应用程序的工作,将开发妥的应用程序部署到 Windows Phone 仿真器进行测试,如果您想要开发智能型手机的游戏程序,也可以利用 Microsoft Expression Blend for Windows Phone 或 XNA Game Studio 发展 2D 与 3D 的游戏程序。请注意 Windows Phone Developer Tools 套件只能安装在 Windows Vista SP2 或 Windows 7 计算机,而且皆不可以是简易版 (Starter Edition)。除此之外,欲利用 Windows Phone Developer Tools 套件提供的 XNA Game Studio 4.0 发展游戏程序的程序设计师请特别注意,Windows Phone Developer Tools 套件不支持安装在任何的虚拟机上,同时计算机配备的显示适配器必须符合 DirectX 10 版定义的规格,并配备 WDDM 1.1 版的驱动程序。

    Windows Phone 7 的硬件支持

    Windows Phone 7 的硬件在很多地方都有别于之前的系统,包括 800 x 480 或 480 x 320 屏幕分辨率,支持多点触控,内建 A-GPS 卫星定位系统 (反应速度更快的卫星定位系统),G-Sensor (Accelerometer),电子罗盘传感器,光源传感器,以及不需要直接接触就可以侦测到附近物体的 Proximity Sensor。

    Windows Phone 7 智能型手机支援最少 500 万画素的数字相机,内建 Codec 与多媒体影音播放功能,最少 256MB 的 RAM 与最少 8GB 的闪存,GPU (图形处理器),ARMv7 Cortex/Scorpion 或更佳的处理器,以及 Back、Start、Search 三个硬件按键。

    Windows Phone 7 的软件支持

    Microsoft 最新推出的 Windows Phone 7 智能型手机主要的要求对象不止是一般的普罗大众,还包括为数众多的企业用户,所以在软件支持方面加入了对云端服务的支持。图1所示即为 Windows Phone 7 的软件支持,上方显示的是 Runtime 和工具,下方显示的是云端相关的服务,两者构成开发 Windows Phone 7 应用程序的支持,以及应用程序执行时期的支持。

    图1:Windows Phone 7 的软件支持
    Image

    从图1 可以看出,开发 Windows Phone 7 应用程序的主要工具除了可以依靠传统的 Visual Studio 2010 Express for Windows Phone 以外,还可以利用 Expression Blend for Windows Phone,不管使用的是那一种工具,都支持将开发妥的应用程序部署到具仿真 GPU (图形处理器 - Graphic Processing Unit) 能力的 Windows Phone 7 仿真器进行测试。

    使用 Visual Studio 2010 Express for Windows Phone 可以开发以 Silverlight Framework 为基础的应用程序,也可以开发以 XNA Framework 为基础的应用程序,而且支持应用程序侦错与封装。使用 Expression Blend for Windows Phone 只能开发以 Silverlight Framework 为基础的应用程序,允许 Silverlight 应用程序设计师以熟知的程序开发经验开发 Windows Phone 7 应用程序。

    除了 Visual Studio 2010 Express for Windows Phone 与 Expression Blend for Windows Phone 以外,欲开发 Windows Phone 7 游戏程序的程序设计师还可以利用 XNA Game Studio 4.0 设计可以适用于 Microsoft Windows、Microsoft Xbox 360、Microsoft Zune、与 Windows Phone 7 的游戏程序。透过 XNA Game Studio 的帮助,Visual Studio 2010 Express for Windows Phone 就可以利用 XNA Framework 进行开发游戏程序的工作。当然,Microsoft 在提供开发 Windows Phone 7 应用程序的工具的同时,也提供了相关的说明文件,教学文件,论坛,部落格,技术网站,以及丰富的范例程序,协助程序设计师解决开发 Windows Phone 7 应用程序的种种问题。

    在支持 Windows Phone 7 应用程序开发的 Framework 方面,Windows Phone 7 提供了两种 Framework,分别是 Silverlight Framework 与 XNA Framework。Silverlight Framework 是以 XAML 文件为基础的应用程序设计概念,透过事件驱动机制的帮助,提供与开发 Windows 应用程序和 Silverlight 应用程序相同的程序开发体验。XNA Framework 主要的目的则是用来支持以循环为基础的游戏程序,意即利用循环不断地更新画面显示的内容,显示流畅的游戏效果。

    Silverlight Framework 和 XNA Framework 都是架构在 NET 平台上的应用程序开发架构,能够有效率地协助程序设计师发展安全的智能型手机应用程序,而且程序设计师只要稍微修改现有的 Silverlight 应用程序或 XNA 应用程序,例如修改屏幕的高度和宽度,并加入智能型手机特有的传感器相关的功能,就可以将 Silverlight 应用程序或 XNA 应用程序移植到 Windows Phone 7 上执行。

    使用 Silverlight Framework 来开发 Windows Phone 7 应用程序类似设计 Silverlight 应用程序,以 Silverlight Framework 为基础的 Windows Phone 7 应用程序是由一堆的 Page (继承自 PhoneApplicationPage 类别的衍生类别) 组成的,每一个 Page 是一个扩展名为 .XAML 的文件,代表一个操作画面,程序设计师可以利用 Visual Studio 2010 Express for Windows Phone 或是 Expression Blend for Windows Phone 来设计 Page 的用户接口。XNA Framework 和 Silverlight Framework 不一样的地方在于 XNA Framework 主要的用途在支持开发游戏程序,提供 2D/3D 的动画,音效,及各种游戏相关的功能,协助有志于开发游戏程序的企业或个人发展 Windows Phone、Xbox 360、Zune 播放器、以及 Windows 7 平台的游戏程序。

    在支持应用程序开发方面,程序设计师可以利用 Framework 提供的功能控制 Windows Phone 7 的多点触控屏幕,传感器,音效装置,以及麦克风等硬件,或是播放声音与影片。

    在档案处理方面 Windows Phone 7 应用程序只能存取位于隔离储存区 (Isolated Storage) 中的档案,无法存取隔离储存区以外的任何档案,避免恶意软件危害到其他应用程序或 Windows Phone 7 本身的运作。

    Windows Phone 7 支持的 Location 功能可以和云端服务提供的 Location 服务整合,协助应用程序查询装置的实际位置,在装置位置改变时得到通知,判断装置移动的方向和速度,或是计算两点之间的距离。

    支持上述种种功能的底层是一组功能完整的 Framework,如图2 所示,位于最底层的 Common Base Class Library 提供了 Microsoft .NET 平台的基本功能,也是 Silverlight Framework 与 XNA Framework 的基础。

    图2:支持开发 Windows Phone 7 应用程序的 Framework
    Image(1)

    除了内建在 Windows Phone 7 智能型手机的 Framework 以外,Windows Phone 7 应用程序也可以使用到因特网的云端服务,包括 Windows Azure、Xbox LIVE 服务、Notification 服务、Location 服务、以及其他各种第三方提供的 Web 服务和 WCF 服务,甚至是 REST 服务 (Representational State Transfer) 等先进的技术,为 Windows Phone 7 应用程序提供更丰富的功能支持。透过云端服务的帮助,能够让使用者在使用不同的计算机装置时都可以存取到共同的数据,享受相同的服务,是支持发展新一代的行动运算解决方案的重要基础。

    透过云端服务的帮助,程序设计师不但能够使用到超越 Windows Phone 7 本身内建的功能以外的更多功能,而且云端服务是 24 小时不间断的服务,不会因为智能型手机的电池电力耗尽而无法取得服务。

    [说明]

    Xbox Live 是由微软公司所开发的多用户在线游戏与数字媒体配送服务平台,最初是 2002 年 11 月为 Xbox 游戏机平台推出的服务,之后更新成可以支持 Xbox 360 平台,Microsoft Zune 可携式媒体播放器,与 Microsoft Windows 平台,最新的版本已经可以支持 Windows Phone 7 智能型手机。透过 Xbox Live 服务的帮助,使用者不管使用的是个人计算机,Xbox/Xbox 360 游戏机,Zune 播放器,或是 Windows Phone 智能型手机,都可以利用相同的操作接口方便地取用共享的信息和服务。从发展应用程序的角度来看,Xbox Live 也是支持发展跨越多种平台与装置的游戏程序的重要服务。

    Microsoft 提供的云端服务中,Notification 服务能够协助 Windows Phone 7 应用程序以订阅的方式收到欲处理的事件,节省定时询问特定的资料或状态耗费的电力。Location 服务能够利用 Wi-Fi、Cellular、和 GPS 等数据,为 Windows Phone 7 应用程序提供定位相关的功能。另外,Identity 服务能够提供身份验证功能,Feed 服务能够提供数据喂入服务,Social 服务能够提供社群服务,而 Map 服务则可以提供地图与导览服务。

    Windows Phone 7 应用程序开发完成后,程序设计师可以利用 Portal 服务将开发好的应用程序发布到手机在线软件商店 (即 Marketplace),让使用者购买和使用。

    在上传 Windows Phone 7 应用程序到手机在线软件商店之前,您必须先使用 Windows Live 账号登入到手机在线软件商店并进入注册,注册完成后就可以利用 Portal 服务提供的功能将开发好的应用程序上传到在线软件商店。程序设计师必须将欲上传的应用程序准备成 .xap 格式的压缩文件再进行上传,上传成功之后可以查询应用程序的认证状态,并在应用程序通过 Portal 服务的认证之后收到认证信。通过认证的应用程序将会以程序设计师订立贩卖价格发布到在线软件商店供使用者购买和下载。如果程序设计师修正应用程序的错误,为应用程序添加新功能,或是另外开发新的应用程序,都需要重复相同的应用程序认证程序,才能将新的应用程序或是修改过的应用程序发布到在线软件商店。

    在线软件商店除了能够提供程序设计师进行应用程序的销售以外,还有提供 Trial API,协助程序设计师开发试用版的应用程序供用户下载试用。除此之外,在线软件商店也提供完整的销售报告,使用者的回馈意见,用户对应用程序的使用意见,或是用户反应的应用程序错误等重要信息,供程序设计师参考。

    Silverlight Framework vs XNA Framework

    了解了 Windows Phone 7 的硬件支持和软件支持之后,在建立 Windows Phone 7 应用程序项目的时候,程序设计师必须面对选取 Silverlight Framework 或选取 XNA Framework 做为应用程序开发基础的抉择。从图3 所示的 Framework 架构功能图可以看出,Silverlight Framework 与 XNA Framework 的底层是一组共同的服务,提供传感器相关的功能,Location 功能,Live 服务功能,网络通讯功能,XNA 的音效 API,以及 XNA 的媒体 API,而位于这一组共享服务底下的则是 .NET Compact Framework,由 .NET Compact Framework 提供基础程序开发协助,包括数据型态,XML 文件处理,LINQ 语言整合查询,Isolated Storage 隔离储存区,WCF 服务,与串行化等功能。

    图3:Silverlight Framework 与 XNA Framework 的架构与功能
    Image(2)

    从图3 可以看出 Silverlight Framework 和 XNA Framework 具有相同的本质,差别在于 Silverlight Framework 和 XNA Framework 支持的是不同类型的应用程序。Silverlight Framework 支持开发一般的 Windows Phone 7 应用程序,提供程序设计师设计应用程序需要的控件以及显示功能,当然也支持动画功能供应用程序使用,而 XNA Framework 主要的用途是支持程序设计师设计游戏相关的程序,包括画面连续更新显示的协助,Content Pipeline 游戏内容处理功能,以及 2D/3D 的图形显示。

    [说明]

    XNA Framework 的 Content Pipeline 是一种制作游戏内容 (包括 Texture、Sprite、Mesh、Effect、Font、Music、音效、Level 设定、和角色的特质)的功能,协助程序设计师在游戏设计的阶段准备游戏程序执行时期需要用到的所有游戏内容,避免游戏程序执行的时候为了将各种不同的数据格式转换成游戏支持的内容格式而影响游戏执行的速度。

    图4 所示即为 XNA 的 Content Pipeline 功能处理游戏内容的过程:

    图4:XNA Content Pipeline 功能处理游戏内容的过程
    Image(3)

    由图4 的内容可以看出,不同格式的游戏内容格式经由 Importer 汇入之后,会转换成 Content DOM (Document Object Model) 能够表示的对象格式,也就是 Processor 能够处理的格式,Content DOM 表示的对象经由 Processor 处理之后,透过 Content Compiler 编译成 .XNB (XNA Binary File 的缩写) 格式的内容,以便被 Windows、Xbox 360、或 Windows Phone 7 平台中执行的游戏加载使用。

    [结语]

    Windows Phone 7 是 Microsoft 推出的全新智能型手机操作系统,不但具有新颖的用户接口,也支持整合当红的社交网站与微网志,内建搜寻功能,LBS (Location-Based Service) 适地性服务,视讯与音乐播放功能,先进而且具高度生产力的游戏开发支持,以及多点触控控制等等,是 Microsoft 逐鹿智能型手机巿场的重要先锋。

  • 相关阅读:
    WPF学习10:基于MVVM Light 制作图形编辑工具(1)
    外文翻译 《How we decide》赛场上的四分卫
    算法学习01:二分查询,选择法、插入法、分治法排序
    外文翻译 《How we decide》 Introduction
    WPF学习09:数据绑定之 Binding to List Data
    WPF学习08:MVVM 预备知识之COMMAND
    WPF学习07:MVVM 预备知识之数据绑定
    WPF学习05:2D绘图 使用Transform进行控件变形
    WPF学习06:转换控件内容为可存储图片
    WPF学习04:2D绘图 使用Shape绘基本图形
  • 原文地址:https://www.cnblogs.com/yoainet/p/2271059.html
Copyright © 2011-2022 走看看