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

SQL Anywhere 11.0.1 (日本語) » Ultra Light J » Ultra Light J の使用 » チュートリアル:BlackBerry アプリケーションの構築 » 第 2 部:BlackBerry アプリケーションへの同期の追加

 

レッスン 3 :アプリケーションへの同期の追加

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

  1. HomeScreen コンストラクタに同期メニュー項目を追加します。

    // Add a menu item
    addMenuItem(_addToListMenuItem);
            
    // Add sync menu item
    addMenuItem(_syncMenuItem);        
                   
    // Create database and connect
    try{ ...
  2. クラス変数宣言でメニュー項目を定義します。

    private MenuItem _addToListMenuItem = new MenuItem("Add", 1, 1){
            public void run() {
                onAddToList();
            }
    };
    private MenuItem _syncMenuItem = new MenuItem("Sync", 2, 1){
            public void run() {
                onSync();
            }
    };
  3. onSync メソッドを作成します。

    private void onSync(){
        try{
            if( _da.sync() ){
                _statusLabel.setText("Synchronization succeeded");
            } else {
                _statusLabel.setText("Synchronization failed");
              }
            this.refreshNameList();
        } catch ( Exception ex){
            System.out.println( ex.toString() );
        }
    }
  4. syncParms 変数と streamParms 変数をクラスレベルで定義します。

    private static SyncParms _syncParms;
    private static StreamHTTPParms _streamParms;
  5. DataAccess クラスに sync メソッドを追加します。

    public boolean sync() {
        try {
            if( _syncParms == null ){
                String host = "ultralitej.sybase.com";
                _syncParms = _conn.createSyncParms( "mluser", "HelloBlackBerrySyncModel" );
                _syncParms.setPassword("mlpassword");
                _streamParms = _syncParms.getStreamParms();
                _streamParms.setPort( 80 ); // use your own
                _streamParms.setHost( host ); // use your own
                if(host.equals("ultralitej.sybase.com"))
                {
                    _streamParms.setURLSuffix("scripts/iaredirect.dll/ml/HelloBlackBerry/");
                }
            }
            System.out.println( "Synchronizing" );
            _conn.synchronize( _syncParms ); 
            return true;
        }
        catch( ULjException uex){
            System.out.println(uex.toString());
            return false;
        }
    }

    同期パラメータ・オブジェクト SyncParms には、同期モデルの展開時に指定したユーザ名とパスワードが含まれています。また、作成した同期モデルの名前も含まれています。Mobile Link では、この名前は統合データベースに展開された同期バージョン (同期論理セット) を参照するようになります。

    ストリーム・パラメータ・オブジェクト StreamHTTPParms は、Mobile Link サーバのホスト名とポート番号を示します。次のレッスンで Mobile Link サーバを起動するときに、自分のコンピュータ名を使用し、使用可能なポートを選択します。コンピュータ名として localhost は使用しないでください。自分のコンピュータで Web サーバを実行していないかぎり、ポート 80 を使用できます。

  6. アプリケーションをコンパイルします。