65.9K
CodeProject 正在变化。 阅读更多。
Home

如何设计高效且吸引人的移动 PIM 数据列表

2010 年 2 月 9 日

CPOL

4分钟阅读

viewsIcon

22292

尽管移动计算取得了长足的进步,但移动设备的基本功能——除了其他活动外——是通信和日历。在 Windows Mobile 平台上,这些基本需求由 Pocket Outlook 系列应用程序提供,例如 Messaging 和 Calendar。

尽管移动计算取得了长足的进步,但移动设备的基本功能——除了其他活动外——是通信和日历。在 Windows Mobile 平台上,这些基本需求由 Pocket Outlook 系列应用程序提供,例如 Messaging 和 Calendar。在本示例应用程序中,我们将向您展示如何在本示例应用程序中读取、扩展和可视化 Pocket Outlook 数据库中存储的 PIM 数据。

Resco ContactResco Contact

由于向后和向前兼容性,所有对 PIM 数据的访问都必须通过一个定义良好的接口,称为 **Pocket Outlook Object Model** 或 POOM。该接口同时提供本地 COM 对象和托管 .NET Compact Framework 类。后者位于 Microsoft.WindowsMobile.PocketOutlook 程序集中。

示例应用程序提供了以下方法

  • 从 POOM 存储中读取联系人和约会。
  • 约会与联系人交叉引用。
  • 使用 Resco.AdvancedList 显示信息。
  • 使用联系人信息拨打电话或启动电子邮件。

必备组件

您将需要:

  • Microsoft Windows Mobile 5.0 SDK(或更高版本),您可以 在此处 下载。
  • Resco MobileForms Toolkit 2010,您可以 在此处 下载。
  • Windows Mobile 设备或模拟器。
  • Microsoft VisualStudio 2008 用于编译和调试应用程序。

Resco MobileForms Toolkit 是一组为移动设备设计的 Visual Studio 控件。在您的计算机上安装 Resco MobileForms Toolkit Volume 2010 后,这些控件将自动添加到 Visual Studio 的工具箱中。我们将在项目中使用的以下 Resco 控件和库

  • .NET CF 的 Resco AdvancedList 库
  • .NET CF 的 Resco TabControl
  • .NET CF 的 Resco Scrollbar

该应用程序采用 .NET Compact Framework 3.5 设计。只需下载相应版本的 Resco MobileForms Toolkit 2010。

Data Model

“Data”命名空间包含与应用程序数据模型相关的类,例如存储库和实体类。

Contact 类是 POOM 联系人对象的包装器。它加载一些有趣的属性并提供一些自定义方法。

ContactDetail 类封装了联系人信息,例如电话号码或电子邮件地址。它还提供了一种操作信息的方法,例如拨打电话或发送电子邮件。

Appointment 类同样是 POOM 约会对象的包装器。它提供了用于演示的附加属性。

PimRepository 类的目的是集中 PIM 数据(联系人和约会)的加载和管理。

用户界面

应用程序的用户界面是一个简单的列表-详情模式。
它使用了 AdvancedList 控件的几个强大功能。

  • 我们使用数据绑定而不是创建列表行对象。
  • 只有可见的联系人会被逐步加载到控件中。

数据绑定是 .NET Framework 中广泛使用的一种强大技术。AdvancedList 控件通过提供无限的模板和 IEnumerable<T> 类型的绑定,将其进一步发展。

Resco ContactResco ContactResco Contact

**模板**是 AdvancedList 功能的核心;它们决定了每个绑定对象的显示方式。最简单的情况下,您将有一个用于“默认”状态的模板和一个用于“选中”状态的模板。模板本身由多个单元格组成。每个**单元格**的目的是可视化对象的属性。

要将单元格**绑定**到底层数据对象的属性,只需设置其 CellSource

有用于文本、图像、链接等的特殊单元格。您甚至可以创建自己的单元格。每个单元格都可以**定位**在其行内,并通过更改其字体、前景色、背景色、对齐方式等进行**设计**。

提供了 Visual Studio 集成设计器和独立应用程序来创建模板。
列表部分由 ContactListForm 实现。联系人对象从 PimRepository 加载,然后绑定到嵌入的 AdvancedList 控件。过滤由简单的 TextBox 控件提供。

详细信息部分由 ContactDetailForm 提供。表单分为两部分:联系人详细信息和约会。两部分都由 AdvancedList 控件支持,并通过 TabControl 进行切换。

联系人信息被加载到几个 ContactDetail 对象中,然后这些对象被绑定到 AdvancedList 控件。每个详细信息都能够执行其信息(例如拨打电话),只需点击一下。

约会选项卡包含已加载联系人被列为与会者的约会。它们从 PimRepository 加载。

结论

正如您所见,使用 AdvancedList 和 TabControl 等强大控件可以大大简化数据表示和操作。当然,这些控件提供了许多本文未提及的功能。您是否注意到联系人列表可以触摸滚动?无聊的文字够多了,创建功能强大的移动应用程序的最佳方法是亲自尝试 Resco MobileForms Toolkit。

下载 应用程序的源代码并找出答案。

下载 应用程序(CAB 文件)。

关于Resco MobileForms Toolkit

Resco MobileForms Toolkit 是最丰富、最全面的 Microsoft Visual Studio 控件和库集之一,专为移动设备软件解决方案的开发人员而设计。在其产品组合中,有许多控件和库可以解决开发人员在移动环境中遇到的大多数问题。例如灵活的键盘、专业的列表控件、强大的网格控件、图表控件和调度控件——这些只是最常用的。

有关 Resco MobileForms Toolkit 的更多信息,请访问 http://www.resco.net/developer/mobileformstoolkit/default.aspx

© . All rights reserved.