|
目前,已经在欧洲发布了 Windows?-powered Smartphone 版本,预计该版本将于 2003 年上半年在美国发布,从而树立起移动电话应用程序开发的旗帜。 Smartphone 是一种优秀的移动电话,可以在熟悉的 Windows 环境中提供语音、无线连接和 Internet 访问的能力。 Smartphone 设备与现有的移动电话不同,它有用于添加内存和硬件的扩展槽,使您能够通过 ActiveSync? 与桌面电脑同步,并提供即时消息、Outlook? 联系人和日历、统一的“收件箱”等功能。 智能电话的最佳之处在于将这些功能集成在一个与现有移动电话一般大小的设备中。 由于 Smartphone OS 以 Windows CE 3.0 为基础,因此,开发人员可以使用之前在 Pocket PC 中进行开发时一直使用的相同的工具和 API,迅速地构建各种多样的、强大的、激动人心的应用程序。 尽管对 Smartphone 而言,其大部分市场在于游戏和个人开发工具,但是在企业级应用领域也将有着广阔的开发舞台。 为员工提供移动电话有许多好处,Smartphone 则通过允许员工访问内部企业应用程序(无需昂贵的硬件),从而可以充分利用这些好处。 此外,目前就可以开发出将现有功能与电话相结合的新型应用程序。 在本文中我将构建一个 Smartphone 实际业务应用程序。 有关本文范围之外的主题的信息,例如语音识别、即时消息及 Pocket Outlook,请查看 http://www.microsoft.com/mobile。 Smartphone 与 Pocket PC Phone Edition 您可能已经听说过另外一个基于 Microsoft? 软件的 Pocket PC Phone Edition。 为了避免混淆,我将详细说明 Pocket PC Phone Edition 与 Smartphone 之间的区别。 For a look at the differences between the two, see 图 1。 (如果您有兴趣了解有关构建 Smartphone GUI 的更为详细的信息,请查看“开发高效的 Smartphone 用户界面”。) Pocket PC Phone Edition 是一款功能全面的内置移动电话功能的 Pocket PC 设备,大小与其它的 Pocket PC 设备相近,机身比 Smartphone 要大一些。 Pocket PC Phone Edition 比 Smartphone 具有更大的功率和更多的内存。此外,它有一个比常见的 Smartphone 显示屏(它不支持触摸屏技术)更大的触摸屏。 处理用户与设备交互的方法也不同: Pocket PC Phone Edition 使用触摸屏手写笔进行交互,而 Smartphone 使用电话的小键盘。 
图 1 屏幕
哪种类型的设备最适合于您的需要取决于三个主要因素: 成本、功能及易用性。 Microsoft 估计智能电话的定价与其它的高端移动电话相近,比 Pocket PC Phone Edition 设备低。 你需要的功能依赖于应用程序设计成做什么的。对于多数移动应用程序,Smartphone 和 Pocket PC Phone Edition 执行的情况相同。 但是,如果应用程序需要大量的磁盘空间和内存、附加的硬件或者更大的屏幕,Pocket PC Phone Edition 也许是正确的选择。 设备和在其之上运行的应用程序是否易于使用,在很大程度上取决于数据输入问题。 首先,你必须决定使用手写笔还是小键盘,或者使用何种输入方式根本不重要。 通过菜单选项的数据输入易于被其它设备处理。 但是,对于输入文本信息,Pocket PC Phone Edition 明显更简单易用。 幸运的是两种设备都支持 Windows CE API,使您能够轻松自如地为它们建立一个代码基。 构建 Smartphone 应用程序 实际的 Smartphone 应用程序需要实现哪些功能? 好,在大多数移动业务应用程序中有一些共同的任务。 它们包括从远程数据存储中检索数据、处理数据、在本地离线储存和管理数据、上载更改并与电话功能进行交互。如果您能够在需要时理解并构建这些元素,就能够进行实际的 Smartphone 开发。 构建您的应用程序的第一步是下载 Smartphone 2002 SDK 的一份副本。 下一步是决定将构建的应用程序的类型: 基于浏览器的还是独立的。 Smartphone 上的基于浏览器的解决方案由可被 Pocket Internet Explorer 访问的Web内容组成。 对那些希望将其内容提供给 Smartphone 持有者的内容提供商而言,这种类型的应用程序是最好的选择。 由于所有的代码都驻留在Web服务器上,因此 Smartphone 上的基于浏览器的应用程序具有与其它平台所提供的相同的好处(包括简单的软件分发和维护)。 当然它也存在缺点,其中之一是它并不能保证始终连接到 Internet。 另一个缺点是 Pocket Internet Explorer 应用程序不能访问该设备的内置功能或与其进行交互。 但幸运的是,可以使用现有的 Web 开发工具包(如 ASP.NET Mobile Controls)来开发基于浏览器的应用程序。 与Web应用程序不同,您可以使用诸如 eMbedded Visual C++? 等工具来开发一个自定义应用程序。 (也可以从 http://www.microsoft.com/mobile/developer下载)。 幸运的是 Smartphone 与 Pocket PC 平台相似。 由于大多数 API 相同,因此可以将使用 eMbedded Visual C++ 为 Pocket PC 平台编写的现有应用程序简单地移植到 Smartphone 上,这样,就可以为那些希望在两种设备上部署一个单一应用程序的组织节省大量的成本。 我已经移植了两个应用程序: 一个只需要简单地重新编译,另一个只花了几个小时来解决平台之间的细微区别。 在开发独立的应用程序时您有更大的灵活性,而且这类应用程序往往更加可靠,并且在连接和未连接模式中均能使用。 对多数商业应用,独立的应用程序也许是最好的选择。 虽然它们在离线环境中工作,但是也提供根据需要在远程系统间传递数据的机制。 此外,独立应用程序也可以使用包括电话功能和访问本地数据存储在内的特定设备的功能,例如 Pocket Outlook 和 Windows CE 数据库(CEDB)引擎。 当离线时,可以存储数据以备将来同步。 但是,如往常一样,独立应用程序面临着更多的分发和维护问题。 此外,创建独立应用程序还需要具有 C++ 开发技能,通常它的成本更高并增加了开发团队的难度。 然而至今还没有出现这种情况,预计智能电话将最终支持 Microsoft .NET Compact Framework 和智能设备扩展。 一旦出现这种情况,开发人员将可以使用 C# 和 Visual Basic? .NET 等语言来构建 Smartphone 应用程序。 数据检索 由于数据检索是所有商业应用程序的最基本的功能,因此设计中的一些挑战将集中于可用连接的类型。 您能依赖持续的连接或者连接可能中断吗? 您的系统只在某些时候或接入点才有连接吗? Smartphone 为从远程数据源检索数据提供了多种选择。 一种是 ActiveSync,您可以使用它手动地在桌面计算机和 Smartphone 之间拖拽文档。 另一个选择是以编程方式从 PC 上访问该设备并使用远程 API(RAPI) 复制文件。 虽然这两种均能完成任务,但我认为它们都不是最好的选择。 Smartphone 内置的 Internet 连接要比这两种方法好得多。 在 Smartphone 设备上通过 Internet 检索远程数据非常简单。 实际上,如果您已经开发了一个检索整个 Internet 数据的 Pocket PC 应用程序,那么您可能已经理解所需了解的所有事情。 在 Smartphone 上与远程服务器通讯的最简单的方法是 WinInet 函数(HTTP或者FTP)、远程加载数据的 XMLDOM API 和 Microsoft Internet Explorer(参见图 2)。 
图 2 在 Smartphone 中检索远程数据
XMLDOM 为 Web开发人员提供了几种熟悉的数据检索方法。利用 DOM,您可以通过两种主要方法来检索数据:文档对象的 Load 方法和 XMLHTTP 对象。两个对象都允许以 XML 格式从远程 Web 服务器中进行数据检索。两者之间最大的差别是,XMLHTTP 对象允许传递一个 XML 对象作为调用的一部分,而 Load 命令不允许。在必须传递数据才能进行检索的情况下,应该使用 XMLHTTP 对象。 无论在 XMLDOM 中使用何种方法, 只需要在代码中做少许调整即可。首先需要包括正确的头文件:
#include <objsafe.h> namespace MSXML { #include <msxml.h> } #include <ocidl.h>
|
|
|
|
|
|
标签NewsAbout错误:Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
|
|
|
|