在本课中,您将向应用程序添加同步功能。
更新 [HomeScreen] 类以添加 [Sync] 菜单项。
双击 [Package Explorer] 窗口中的 HomeScreen.java,然后在调用 [getDataAccess] 方法的 [try-catch] 语句上方插入以下代码:
// Add sync menu item addMenuItem(_syncMenuItem); |
更新 [HomeScreen] 类来添加新方法,以在类变量声明中定义菜单项。
在 [_addToListMenuItem] 方法下方插入以下代码:
private MenuItem _syncMenuItem = new MenuItem("Sync", 2, 1) { public void run() { onSync(); } }; |
更新 [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()); } } |
更新 [DataAccess] 类以定义 [_syncParms] 变量。
双击 [Package Explorer] 窗口中的 DataAccess.java,然后在 [private static DataAccess _da;] 调用下插入以下代码:
private static SyncParms _syncParms; |
更新 [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 托管的中继服务器。 有关中继服务器的详细信息,请参见中继服务器简介。
单击 [File] » [Save All]。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |