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

SAP Sybase SQL Anywhere 16.0 » Ultra Light Java プログラミング » チュートリアル:BlackBerry アプリケーションの構築 » 第 2 部:Mobile iLink を使用した BlackBerry アプリケーションの同期

 

レッスン 3:BlackBerry アプリケーションに対する Mobile Link のサポート

このレッスンでは、アプリケーションに同期機能を追加します。

前提条件

このレッスンは、受講者がこれまでのすべてのレッスンを終了していることを前提としています。 レッスン 1:Mobile Link 統合データベースの設定を参照してください。

 ♦ タスク
  1. HomeScreen クラスを更新して Sync メニュー項目を追加します。

    [Package Explorer] ウィンドウの HomeScreen.java をダブルクリックしてから、try-catch メソッドを呼び出す getDataAccess 文の前に次のコードを挿入します。

            // 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 には、同期モデルの展開時に指定したユーザ名とパスワードが含まれています。また、作成した同期モデルの名前も含まれています。Mobile Link では、この名前は統合データベースに展開された同期バージョン (同期論理セット) を参照できます。

    ストリームパラメータオブジェクト StreamHTTPParms は、Mobile Link サーバのホスト名とポート番号を示します。次のレッスンで Mobile Link サーバを起動するときに、シミュレータのテスト用に自分のコンピュータ名を使用し、使用可能なポートを選択します。

    注意

    デバイスを使用する場合は、外部で表示可能なコンピュータを使用するか、自分のデバイスとペアになっている BlackBerry Enterprise Server (Sybase をホストとする Relay Server など) からアクセスできるコンピュータを使用してください。 Relay Server の詳細については、Relay Server の概要を参照してください。

  6. [File] » [Save All] をクリックします。

結果

BlackBerry アプリケーションと統合データベースを同期できます。