Microsoft Smartphone应用程序设计入门

开发工具进行了深入介绍。

 

   内容摘要

  在过去几年中,蜂窝电话和手持计算设备的使用量成指数级增长。这种高速增长的结果之一就是“集成”技术的迅速崛起,“集成”技术能够充分利用电话和移动计算设备两个领域的优势。市场研究公司 ID 的研究结果表明,全球范围内“智能”电话的使用量将从 2002 年的约 160 万部增长到 2005 年的约 6430 万部,短短数年这个数字的增长幅度将超过 3900%。

  Microsoft 对这个令人激动的新行业做出了积极响应。Microsoft 在创立时的目标是让每张办公桌和每个家庭都有一台计算机,现在,Microsoft 公司更是将这一使命进一步向前推进,新的目标是使人们随时随地在任何设备上都能通过软件获得所需的信息。新的目标包括日益增长的移动设备,例如蜂窝电话和基于 Microsoft Pocket PC 平台的功能强大的小型计算设备。

  Microsof Smartphone 是对 Microsoft 移动产品系列的新型、引人注目且功能强大的补充产品。Smartphone 在一台设备中同时提供声音和无线数据功能,这扩展了移动电话概念的价值。Smartphone 既是一部很好的电话,也是联机和脱机应用程序的理想平台,它能够帮助用户保持与重要的实时信息之间的联系。此行业的潜在实际规模为针对那些需要 Smartphone 形式的用户开发应用程序提供了大量机会。

  本文为软件开发人员(包括电信领域的开发人员以及应用程序开发人员)深入介绍了 Microsoft Smartphone 的硬件、操作系统和开发工具。其中包括对 Smartphone 产品进行概述的“一瞥”,以及对产品硬件、体系结构和应用程序方案的详细介绍。本文向独立软件供应商 (ISV) 初步展示了 Smartphone,让他们看到潜在的市场机遇 - 开发引人注目并且内容丰富的 Smartphone 应用程序,并在其中融入未来的第三代宽带网络。

   Smartphone 一瞥
  什么是 Microsoft Smartphone?

  Microsoft Smartphone 是 Microsoft 端对端无线计算策略的组成部分,它为用户提供了另外一种访问高级客户端功能、后端数据和最终用户服务的方式。Smartphone 将电话特性与个人数字助理 (PDA) 的功能结合成小型无线电话的形式,在这种形式下,可以用一只手进行操作。其功能包括语音、SMS、即时消息服务、电子邮件(从 Outlook? 消息和协作客户端、Exchange、IMAP 以及 POP3 服务等来源获得)以及个人信息管理 (PIM) 应用程序(例如日历和联系人)。

  Smartphone 的基础平台是什么?

  Smartphone 2002 平台基于 Microsoft Windows CE 3.0 操作系统,并包括很多在基于 Pocket PC 的计算设备上提供的相同核心应用程序,例如电子邮件、PIM 工具和 Pocket Internet Explorer Web 软件。Web 软件支持 HTML、WAP (WML) 和 XML 格式。由于 Smartphone 是建立在开放式 Windows 平台上的,因此应用程序开发人员可以使用 Smartphone SDK 和 Windows 开发环境中熟悉的 Windows 技术,来建立创新且引人注目的产品和服务。

  Smartphone 平台体系结构

  Microsoft Smartphone 体系结构基于 Windows CE 3.0 操作系统,并包含很多基于 Win32? 的相同特性和功能(包括诸如 TAPI 和 Winsock 在内的 Win32 API),这些特性和功能是为全世界那些曾为 Pocket PC 平台设计过数以千计应用程序的开发人员所熟知的。Smartphone 体系结构提供了一套核心服务,这套服务将为语音和数据服务两者抽象出各种基础连接。尽管基础连接能够进行查询以确定信道的特征,但是在 Smartphone 的核心体系结构之上编写的应用程序无需了解任何有关这些基础连接的信息。为基于桌面或 Windows CE 的设备编写的、在有线环境中运行的很多应用程序稍作修改,就可以通过 Smartphone 建立到 Internet 的连接。同样,最初部署在 GSM 上运行的应用程序如果要部署到 CDMA 网络上,也不需要进行任何修改。最后,这种灵活性使开发人员能够在各种有线和无线网络、平台选项和配置上重复利用他们的知识和软件。

 

图 1:Smartphone 体系结构组件概述

  “应用程序/UI”层是指 Smartphone 命令解释程序和顾客级的应用程序,例如 Pocket Internet Explorer、收件箱、控制面板以及电话拨号程序。

  “逻辑”层包含可以被应用程序层使用的系统应用程序逻辑。例如,用于网络连接和同步的控件。

  “核心 API”层提供的是底层体系结构组件(操作系统、Smartphone 软件和无线堆栈)与应用程序层/逻辑层之间的接口。通过开发面向这一层及上一层的应用程序,开发人员就无需为充分利用它们的功能而去了解基础的底层细节。

  “无线堆栈”层通常是指负责语音和数据控制以及数据传输的体系结构组件。

  Smartphone 安全性

  Microsoft Smartphone 用户可能会通过使用其设备来访问公司数据或处理其他保密事务,例如基于 Internet 的采购。因此,在设计 Smartphone 时就提供了安全措施,并且支持 Internet 安全标准,例如 SSL 和 PPTP。可以添加到 Smartphone 中的安全措施包括要求在使用 EXE 和 DLL 之前签名、防止不受信任的 EXE 和 DLL 访问重要系统资源、允许应用程序配置加密的各个方面,以及通过 PAP 和 CHAP 在 SLIP 和 PPP 上使用认证过程。这些安全措施以及其他安全选项的目的是防止在使用 Smartphone 时出现安全问题,包括电子欺骗、篡改、信息泄露和拒绝服务。

  Smartphone 开发工具

  Microsoft Smartphone 应用程序开发人员可以获得大量的开发工具。Microsoft eMbedded Visual 工具(特别是 eMbedded Visual C++? 3.0)就支持 Smartphone 的开发。此工具集为 Windows 开发人员提供了一个熟悉的环境,同时为非 Windows 开发人员提供了一个易于学习的环境。此产品是免费的,可从以下网址获得:http://www.microsoft.com/mobile/developer/(英文)。

  Microsoft eMbedded Visual C++ 3.0 开发系统为基于 Windows CE 的开发提供了本机代码 C++ 编译器。其目标是目前所有基于 Windows CE 2.11 或更高操作系统的设备,包括 Smartphone 2002、旧的 Pocket PC 以及新型 Pocket PC 2002。eMbedded Visual C++ 3.0 工具包必须与 Smartphone 2002 SDK 结合使用,Smartphone 2002 SDK 中包含大量的文档、代码示例和全面的 API 集。它还包含一个能够大大增强应用程序的开发和测试能力的模拟器。

  此外,Smartphone 开发人员还将能够利用 Visual Studio? .NET,包括像 Microsoft .NET Framework 精简版和 Smart Device Extensions 这样令人激动的新工具。Smart Device Extensions for Visual Studio .NET (SDE) 是 Visual Studio .NET 的附件。使用它,开发人员可以为设备编写 .NET 应用程序,并且可以使移动设备在连接和断开的方案下进行分布式计算。使用 .NET Framework 精简版中提供的大量类库,开发人员编写应用程序的速度可以比使用传统工具快得多。Microsoft Mobile Internet Toolkit (MMIT) 能够对 Smart Device Extensions 和 .NET Framework 精简版进行补充,它也是 Visual Studio .NET 的组成部分。MMIT 使开发人员能够建立一个移动 Web 应用程序,对各种设备自动调整页面的显示,这些设备包括支持 Internet 的移动电话、传呼机以及基于 Pocket PC 的产品。

   Smartphone 硬件

  Microsoft Smartphone 将电话的特性与 PDA 的典型功能融合在一起,并将它们结合为移动电话的形式。通过无线数据连接,Smartphone 2002 能够提供一种便携的语音和数据通信工具。可用性研究表明,最终用户希望这种设备既具有强大的功能,又具有简便的操作。用户在使用电话时可能正在移动,也可能在比理想条件差的环境中操作设备,比如在拥挤的空间和光线很暗的房间中。因此,Smartphone 平台上已经规定了某些设计限制。但是,Microsoft 认识到 OEM 和 ISV 需要在市场中区分它们的产品。为了在用户期望值和产品差异之间取得平衡,Microsoft 已经提出了一些必需和可选的关键代码集,用于在 Smartphone 上处理浏览、拨号以及数据访问。图 2 展示了一种推荐的、基于可用性设计研究的 Smartphone 标准布局和控制硬件集。强烈建议使用图中所示的软键、“主页”和“后退”键以及五向控制键。这里显示的所有硬件控件都必须存在,但是 OEM 可以与插图中所示的控件位置有所不同。应用程序设计人员不应该对控件在设备上的绝对位置作任何假设。

图 2:推荐的 Smartphone 标准布局

 Smartphone 显示屏是一个纵向 LCD 屏幕。通常的分辨率为:点距 0.20 mm,点数 176x220。显示屏可为灰度或彩色。显示屏是针对单手操作进行设计的,使用五向控制键而不是触摸式显示屏。研究结果表明这样做是可取的,因为用户希望电话能够通过单手操作、耗电量更低,并且非触摸屏更为持久耐用。

  Smartphone 应用程序:使用和设计的概念

  Smartphone 的应用程序模型简单而灵活。有几种类型的应用程序可以部署在 Smartphone 平台上,并因此而获益。它们是:

  • 业务流程应用程序,为诸如企业资源规划 (ERP) 和客户关系管理 (CRM) 这样的企业任务而设计。
  • 公司品牌应用程序,使移动运营商和大型公司等组织能够通过使用文本、位图、启动屏幕、“主页”屏幕以及 Pocket Internet Explorer 收藏夹屏幕来提高其公司地位。
  • 基础结构应用程序,用于处理诸如安全性、防火墙、防病毒、加密、数据库和系统管理等功能。
  • 工作效率应用程序,包括电子邮件以及 Intranet 访问和浏览在内。
  • 消息传递应用程序,例如电子邮件、即时消息 (IM)、短消息服务 (SMS)、增强型消息服务 (EMS) 以及多媒体消息服务 (MMS) 等。
  • 娱乐应用程序,包括游戏、使用音频和视频的多媒体以及基于位置的服务。

  根据可用性研究的结果和用户对 Smartphone 的期望,Microsoft 强烈建议开发人员在设计 Smartphone 应用程序时谨记以下原则:

  一致性:有效的应用程序必须在内部保持一致,同时也要与在同一平台上运行的其他应用程序保持一致。一致性可以增加用户的舒适感和自信心,使用户的工作效率更高,同时也让用户更容易将某个应用程序中的技巧运用到同一操作平台上运行的其他应用程序中。

  简便性:Smartphone 的屏幕空间和输入界面都很有限,因此使操作相对简便非常重要。屏幕上有多个视图、菜单和控件会给用户带来混乱和挫折,同时也会要求调试和测试更多的复杂代码。

  用户控制:用户都偏爱容易理解和易于控制的产品。通过设置和配置选项,用户应当能够个性化数据管理。但是,用户能够控制的程度和可用的选项必须与对简易性的要求取得平衡。

  反馈:用户在使用 Smartphone 时应该能够收到对自己的操作清晰而直接的反馈。如果可能,错误消息应该向用户提供有关如何纠正错误的反馈。

  Smartphone 用户界面元素

  Microsoft 编写了全面的 Smartphone Design Guide(包含在 SDK 中),该指南详细讲述了建立 Smartphone 应用程序所需的全部设计元素。本节介绍了指南中的一些重点,包括 Smartphone 用户界面元素,这些元素由系统字体、标题栏、菜单栏、软键菜单、消息框和对话框组成。

  系统字体

Smarphone 2002 系统字体是 11 号粗体 Nina 字体,用于显示列表视图、控件和表格。用户可以将字体大小设置为“中”或“大”(16 号 Nina 字体)。重新启动后,Smartphone 默认使用上一次选择的字体大小,这样用户就可以在屏幕上按照所选的字体大小阅读信息。图 3 显示了列表视图中的系统字体:

图 3:列表视图中的系统字体

 

  标题栏

  标题栏占用屏幕顶部的 20 个像素,是屏幕上始终不变的元素,以 10 号 Nina 字体显示应用程序的信息和状态。例如,在日历应用程序中,标题栏显示日期,而在消息传递应用程序中,标题栏显示处于打开状态的邮件文件夹。标题栏右侧的图标提供电池状态和信号强度的信息。图 4 显示的是一个日历标题栏的示例:

图 4:日历标题栏

  菜单栏

  菜单栏出现在屏幕底部,高度为 20 像素,使用 10 号粗体 Nina 字体。菜单栏包括两个软键,按显示屏下方的相应硬件按钮可以激活它们。应用程序使用右边的软键显示菜单,使用左边的软键作为上下文相关操作的按钮。例如,联系人列表视图中的软键为“新建”和“菜单”。当用户进入“编辑视图”创建新联系人时,软键就会相应变成“完成”和“菜单”。

图 5:联系人列表视图中的软键

软键菜单

  按“菜单”软键可以显示如图 6 所示的菜单。再次按“菜单”软键(或“后退”键)将关闭菜单。

图   6:菜单软键

  消息框

  Smartphone 包含一个消息框,用于实现以下三种功能:让用户知道有情况发生(例如创建了一个快捷方式);提示用户对操作进行确认(例如询问用户确认对邮件的删除操作);以及通知用户出错的信息(例如用户试图进行无效操作)。Smartphone 消息框可以占据部分或全部屏幕并提供最多两个选项,这些选项可以通过标有“是/否”或“确定/取消”的软键进行访问。图 7 中举出了几个例子:

图 7:消息框示例

 

  对话框

  Smartphone 中的对话框是全屏幕的控件列表。图 8 显示的日历约会对话框使用了时间选取器、文本输入框和调节控件(右下角处的双箭头集)。“任务”对话框使用了文本输入框和复选框。

图 8:对话框示例

  对话框中的控件可以由对话框中另外一个控件动态填充。例如,在日历约会对话框中选中“全天事件”复选框将自动更改开始和结束的时间。

   Smartphone 导航

  设计精良的设备可以让用户简便而直观地在屏幕上移动以及执行操作。由于 Smartphone 的设计针对的是单手操作,因此它的导航和操作使用内置的硬件按钮,而不是触摸屏和笔针的方法。

  “主页”屏幕

  “主页”屏幕是每次打开设备后出现的第一个屏幕,如图 9 所示。用户随时可以按“主页”按钮,很容易地返回“主页”屏幕。只要用户进行了指定,设备也可以在注册表中记录的时间超时后返回“主页”屏幕。“主页”屏幕在 Smartphone 中为用户提供了一个可定制且可编程的开始页面。这个开始页面可用于显示各种信息,例如电话的状态、来自无线服务的信息以及来自 PIM 应用程序的信息。开发人员可以自定义“主页”屏幕以反映运营商或公司的品牌和消息。

图 9:“主页”屏幕

 

  导航按钮

  Smartphone 为用户提供了两个导航按钮:其中一个是“主页”按钮,它用于随时随地返回“主页”屏幕;另一个是“后退”按钮,通常用于返回上一个屏幕。“后退”按钮是与上下文相关的,因此其功能将根据应用程序的变化而变化。例如,如果处于打开状态的是菜单,“后退”按钮的功能就是关闭菜单;如果处于打开状态的是消息框,“后退”按钮的功能就是关闭消息框并取消操作;而在具有编辑控件的屏幕上,“后退”按钮的功能就是执行标准的删除功能。

  在应用程序中导航

  Smartphone 应用程序中有三个基本视图:列表视图、卡片视图和编辑视图。列表视图用于显示项目列表;卡片视图用于提供有关给定列表项的详细信息;而编辑视图则使用户能够更新卡片视图中所包含的信息。大多数应用程序都会启动列表视图。选择其中一个列表项将打开卡片视图,提供这个列表项的详细信息。用户可以选择编辑卡片视图来进行修改或按“后退”键返回列表视图。图 10 显示了应用程序内部的导航流程:

图 10:应用程序内部的导航流程

在 Pocket Internet Explorer 中导航

  Microsoft Pocket Internet Explorer 是 Smartphone 中的浏览器软件,它提供了另外一种在应用程序内导航的方式。电话上的方向键可用于在任何方向或所有方向上滚动,浏览器的“按屏幕大小调整显示内容”特性可用于按 Smartphone 屏幕的大小浏览站点。如果页面上存在链接或其他热点,焦点就会按照用户进行滚动的方向从一个链接跳转到另一个链接。与在其他 Internet Explore 版本中一样,选择链接的操作就如同单击了一下鼠标,使浏览器跟随链接进行刷新,而使用“后退”按钮则可以使用户返回上一个 URL。在应用程序之间导航

  根据上下文,用户可以直接在不同的应用程序之间进行切换,而无需返回“主页”屏幕或“程序”页面。例如,在诸如电话记录或联系人的应用程序中,当电话号码突出显示时按“通话”键表示开始通话并将用户带入呼叫进度应用程序。应用程序之间也存在直接链接。例如,在电话记录中,用户可以选择允许自己向联系人中添加电话号码的菜单项。选择这个菜单项将启动联系人应用程序,并让用户填写余下的信息。“后退”键也可以用于在应用程序之间导航。

  小结

  创新性的 Smartphne 是 Microsoft 策略中的又一重要元素,Microsoft 的策略是提供能够随时随地获取信息的各种计算平台。Smartphone 在移动、多功能无线设备的发展初期就被引入,将会使语音和文本通信功能有力地结合在一起,形成高度精简且易于使用的形式。Smartphone 为应用程序开发人员提供了为市场开发创新性应用程序的机会,而这一市场在未来几年中将成指数级增长。

你可能感兴趣的:(Microsoft Smartphone应用程序设计入门)