編集部からのお知らせ
新着! 記事まとめ集「銀行のITビジネス」
EDRの記事まとめダウンロードはこちら

jMakiでGoogle GearsとJavaをつなげてみた - (page 3)

杉山貴章(オングス)

2007-06-19 14:54

 NetBeansへのjMakiモジュールのインストールは[ツール]-[アップデートセンター]から行うことができる。インストールしたら、まずは通常通り図1、図2のようにしてプロジェクトを作成する。

図1 NetBeansによるプロジェクトの作成1 図1 NetBeansによるプロジェクトの作成1

図2 NetBeansによるプロジェクトの作成2 図2 NetBeansによるプロジェクトの作成2

 フレームワークとしてjMakiを選択すれば、プロジェクト内に必要なファイルが自動的にコピーされる。[Webページ]以下にあるresourcesフォルダにはjMakiを利用するために必要な設定ファイルじゃスクリプト類が配置されている。まず、設定ファイルであるconfig.jconにリスト3のように拡張機能のためのマッピングの設定を記述する。ここでは全てのURLを"google.gears"という名前にマップさせている。

リスト3 拡張機能利用のためのマップの設定を追加

{
  'config': {
    'version': '.9',
    'glue' : {
         'includes': ['/glue.js', '/resources/system-glue.js']
       },
    'extensions': [{url : '/*', 'name' : 'google.gears'}]
    }
}

 次に、初期設定を行うためのJavaScriptコードをリスト4のように記述する。前半部分は拡張機能を利用するための設定で、各種変数の宣言やイベントリスナの追加を行っている。特に(1)の部分では、"/google/gears/execute"というURLへのアクセスに対して自身のexecute関数の呼び出しをマッピングしている。

 (2)以降の部分はGoogle Gearsを利用するために必ず必要となる定型コード(詳細はGoogle Gearsのドキュメントを参照)である。これを"extension.js"というファイル名で/resources/google/gearsというフォルダに配置する。

リスト4 Google Gearsを利用するための初期設定

jmaki.namespace("jmaki.extensions.google.gears");

jmaki.extensions.google.gears.Extension = function(args) {
  var self = this;
  var topic = "/google/gears";
  var factory = null;

  // (1)/google/gears/executeに対するアクセスにexecute関数をマップ
  this.postLoad = function() {
     self.init();
     jmaki.addGlueListener(topic + "/execute", self.execute);
  }

  // (2)Google Gearsを利用するための定型コード
  this.init = function() {
      jmaki.log("Google Gears jMaki Extension intialized");

      // Firefox
      if (typeof GearsFactory != 'undefined') {
          factory = new GearsFactory();
      } else {
          // IE
          try {
              factory = new ActiveXObject('Gears.Factory');
          } catch (e) {
              // Safari
              if (navigator.mimeTypes["application/x-googlegears"]) {
                  factory = document.createElement("object");
                  factory.style.display = "none";
                  factory.width = 0;
                  factory.height = 0;
                  factory.type = "application/x-googlegears";
                  document.documentElement.appendChild(factory);
              }
          }
      }
      // Now set up the objects, being careful not to overwrite anything.
      if (!window.google) {
          window.google = {};
      }

      if (!google.gears) {
          google.gears = {factory: factory};
      }      
  }

  // (3)ここにexecute関数等を記述する
}

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

特集

CIO

モバイル

セキュリティ

スペシャル

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]