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

为 Windows Mobile 应用程序添加数据复制的 5 个步骤

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.33/5 (3投票s)

2007 年 4 月 18 日

4分钟阅读

viewsIcon

54379

downloadIcon

529

本文旨在展示如何通过使用 .NET (C#) 将数据复制添加到移动应用程序。

引言

本文使用的应用程序基于 UltraLite 10 数据库,并将使用一种名为 MobiLink 10 的技术,以实现移动 UltraLite 数据库与中央数据库之间的数据交换。虽然 MobiLink 能够与大多数主流数据库(包括 SQL Server、IBM DB2、Oracle 和 Sybase)同步,但为了演示的目的,我们将使用 SQL Anywhere 作为中央(整合)数据库。所有这些工具都包含在免费的 SQL Anywhere 10 开发者版中。

要求

要开始开发应用程序,需要以下工具

步骤 1:设置远程数据库

在我之前的 教程 中,我们创建了一个针对 Windows Mobile (WinCE) 设备的远程 UltraLite 数据库和移动 .NET 应用程序。请确保您已完成此教程,以确保您能够熟练使用 UlltraLite 数据库。

步骤 2:设置复制

在本文中,我将不详细介绍使用 MobiLink 设置数据复制的过程,因为关于此主题已经有很多优秀的 文章网络讲座。在您下载的项目(来自上方)中,有一个名为 `\db` 的子目录,其中包含一个名为 `start_ml.bat` 的批处理文件。执行此文件可以创建一个新的 SQL Anywhere 中央数据库。它还将启动一个 MobiLink 服务器并将其连接到中央 SQL Anywhere 数据库。此时,MobiLink 正在等待客户端同步请求。

步骤 3:向移动应用程序添加复制逻辑

现在中央数据库和 MobiLink 已配置并启动,下一步是添加逻辑以从移动设备发起数据复制到 MobiLink 服务器(MobiLink 服务器进而从中央 SQL Anywhere 数据库请求数据)。打开从先前教程创建的应用程序,并添加一个名为 `btnSync` 的按钮(如下图所示)。

Screenshot - SimpleML1.jpg

双击该按钮以添加以下同步代码

private void btnSync_Click(object sender, EventArgs e)
{
    // Initiate data replication
    try
    {
        ConnUL.SyncParms.UserName = "user1";
        ConnUL.SyncParms.Stream = ULStreamType.TCPIP;
        ConnUL.SyncParms.StreamParms = "";
        ConnUL.SyncParms.Version = "customer";
        ConnUL.Synchronize();
    }
    catch (System.Exception t)
    {
        MessageBox.Show("Synchronization Error: " + t.Message);
    }
}

步骤 4:启动模拟器

由于我们将要测试数据复制,因此需要启动模拟器,并建立模拟器与桌面之间的实际 Active Sync 连接。为此,请选择“工具”|“设备模拟器管理器”。右键单击其中一个 Windows Mobile 5.0 模拟器,然后选择“连接”。

Screenshot - SimpleML2.jpg

模拟器启动后,打开桌面上的 Active Sync,然后选择“文件”|“连接设置”。启用“允许连接到以下任一项:”,然后从下面的组合框中选择 DMA,然后按“确定”。

Screenshot - SimpleML3.jpg

在设备模拟器管理器中,右键单击选定的模拟器并选择“安装”(如下图所示)。这应该会创建一个到模拟器的 Active Sync 连接。注意:如果出现问题,请尝试禁用 Active Sync 应用程序中的 DMA 选项,然后重新启用它。

Screenshot - SimpleML4.jpg

步骤 5:部署和测试移动应用程序

现在我们已经建立了 Active Sync 连接,可以部署移动应用程序了。在 Visual Studio 中,将目标从“Windows Mobile 5.0 Pocket PC 模拟器”更改为“Windows Mobile 5.0 Pocket PC 设备”,然后选择“生成”|“部署解决方案”。

Screenshot - SimpleML5.jpg

应用程序成功部署后,在设备上打开文件资源管理器,切换到 `\Program Files\SimpleUL` 目录,然后单击 `SimpleUL` 应用程序。

Screenshot - SimpleML6.jpg
Screenshot - SimpleML7.jpg

此时,我们可以通过单击“同步”按钮来发起与 MobiLink 服务器的连接。您应该会在 MobiLink 服务器窗口中看到几行日志,表明已将 5 行数据下载到移动设备。请再次尝试同步。这次您应该会注意到没有下载任何行,因为 MobiLink 只发送新的数据更改。

Screenshot - SimpleML8.jpg

后续步骤

至此,我们已经设置了移动数据库与中央服务器之间的双向信息交换。下一步很明显是实现修改移动数据库并上传更改的功能。由于远程数据库已经跟踪更改,因此所需的唯一更改是实现数据上传,以修改移动应用程序以插入、更新或删除数据。

摘要

在本文中,我们使用单个独立数据库创建了一个非常简单的数据复制应用程序。MobiLink 服务器是一个极高性能的服务器,能够扩展到支持数十万移动用户(例如 2008 年美国人口普查,将使用 MobiLink 支持 50 万移动人口普查工作人员)。由于 MobiLink 支持服务器端大多数现有的数据库,因此可以轻松地将其集成到任何现有的公司系统中。

© . All rights reserved.