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 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

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

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

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