Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » UltraLite - Java 编程 » 教程:构建 BlackBerry 应用程序 » 第 2 部分:使用 MobiLink 同步 BlackBerry 应用程序

 

第 3 课:将 MobiLink 支持添加到 BlackBerry 应用程序

在本课中,您将向应用程序添加同步功能。

 ♦ 将 MobiLink 同步功能添加到 BlackBerry 应用程序
  1. 更新 [HomeScreen] 类以添加 [Sync] 菜单项。

    双击 [Package Explorer] 窗口中的 HomeScreen.java,然后在调用 [getDataAccess] 方法的 [try-catch] 语句上方插入以下代码:

            // Add sync menu item
            addMenuItem(_syncMenuItem);
  2. 更新 [HomeScreen] 类来添加新方法,以在类变量声明中定义菜单项。

    在 [_addToListMenuItem] 方法下方插入以下代码:

        private MenuItem _syncMenuItem = new MenuItem("Sync", 2, 1) {
            public void run() {
                onSync();
            }
        };
  3. 更新 [HomeScreen] 类,以添加在上一步骤中调用的 [onSync] 方法。

    在 [onAddToList] 方法下方插入以下代码:



        private void onSync() {
            try {
                if(_da.sync()) {
                    _statusLabel.setText("Synchronization succeeded");
                } else {
                    _statusLabel.setText("Synchronization failed");
                }
                refreshNameList();
            } catch (Exception ex) {
                Dialog.alert(ex.toString());
            }
        }
  4. 更新 [DataAccess] 类以定义 [_syncParms] 变量。

    双击 [Package Explorer] 窗口中的 DataAccess.java,然后在 [private static DataAccess _da;] 调用下插入以下代码:

        private static SyncParms _syncParms;
  5. 更新 [DataAccess] 类以添加 [sync] 方法。

    在 [getNameVector] 方法下方插入以下代码:

    注意

    必须用您的计算机名来替换 your-host-name。不能在应用程序中使用此术语。



        public boolean sync() {
            try {
                if(_syncParms == null){
                    _syncParms = _conn.createSyncParms(SyncParms.HTTP_STREAM, 
                    				"mluser", 
                    				"HelloBlackBerrySyncModel");
                    _syncParms.setPassword("mlpassword");
                    _syncParms.getStreamParms().setHost("your-host-name"); // USE YOUR OWN
                    _syncParms.getStreamParms().setPort(8081); // USE YOUR OWN
                }
                _conn.synchronize(_syncParms);
                return true;
            }
            catch(ULjException uex) {
                Dialog.alert("Exception: " + uex.toString());
                return false;
            }
        }

    同步参数对象 _syncParms 包括部署同步模型时指定的用户名和口令。也包括所创建的同步模型的名称。在 MobiLink 中,此名称可以指部署到统一数据库中的同步版本或一组同步逻辑。

    流参数对象 StreamHTTPParms 指出了 MobiLink 服务器的主机名和端口号。在下一课中启动 MobiLink 服务器时,使用您自己的计算机名进行模拟器测试并选择可用的端口。

    注意

    在使用设备时,请使用外部可见的计算机,或通过与设备配对的 BlackBerry Enterprise Server 可以访问的计算机,如 Sybase 托管的中继服务器。 有关中继服务器的详细信息,请参见中继服务器简介

  6. 单击 [File] » [Save All]。