【連載】
今回は、AIRのSDKについて説明した後、簡単なサンプルアプリケーションを作成/実行してみよう。SDKによるコマンドラインベースの開発は、前回紹介した統合開発環境を利用する場合に比べて原始的ではあるが、AIRプログラミングの基礎を理解するうえで重要だ。ぜひ一度は試していただきたい。
まず、SDKに含まれるコマンドラインツールを使用するには、バージョン1.4.2以上のJava実行環境が必要なので、こちらのページなどからJavaをダウンロードしてインストールしておく必要がある。
AIR開発に使用できるSDKには2種類ある。
一つはこちらのページから入手可能なAIR SDK beta 1である。これは、HTML/JavaScriptを用いてAIRアプリケーションを作成するために使用する。
もう一つは、こちらのページから入手できるFlex 3 SDK beta 1で、こちらにはFlex開発環境のみならず、AIRアプリケーション開発用キットとフレームワークも含まれている。本連載は、Flexを用いたAIRアプリ開発を中心に解説していくので、こちらのSDKを使用する。
Flex 3 SDKをダウンロードして展開したら、binディレクトリにパスを通して各種コマンドを利用可能な状態にしてほしい。
環境の準備ができたら、「Hello」を表示するだけのAIRアプリケーションを作成していこう。以下のソースコードを「Hello.mxml」というファイル名で保存する(文字コードはUTF-8で保存する)。
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" title="Hello World" alpha="0.5">
<mx:Label text="こんにちは、AIR!" horizontalCenter="0" verticalCenter="0"/>
</mx:WindowedApplication>
AIRアプリケーションのエントリーポイントとなるMXMLファイルはルート要素が「WindowedApplication」だというのがポイントだ。また、alpha="0.5"という指定により、半透明なウィンドウを作成しようとしている。
上のMXMLファイルをコンパイルし、SWF形式のファイルを作成するには、以下のコマンドを使用する。
amxmlc Hello.mxml
amxmlcコマンドは、AIR用のFlexコンポーネントを参照するようにコンフィグレーションされたmxmlcコマンドで、Flexソースコードのコンパイルに用いられる。このコマンドが正常に終了すると、Hello.swfというファイルが作成されるはずだ。
次に、アプリケーションディスクリプタファイルを作成する。このファイルは、AIRアプリケーションには必須のもので、アプリケーションの各種属性を記述するために使用される。以下は、β版におけるアプリケーションディスクリプタファイルの完全なリファレンスとなっている。
<?xml version="1.0" encoding="UTF-8"?>
<!--
ルート要素「application」
appId属性は、AIRアプリケーションを一意に識別するためのIDで、Javaのパッケージ名と同じくドメイン名をひっくり返した形式が推奨されている。
version属性は、アプリケーションのバージョンを表す任意の文字列。
-->
<application xmlns="http://ns.adobe.com/air/application/1.0.M4"
appId="jp.co.mycom.journal.examples.Hello" version="1.0">
<!-- アプリケーションの名称(必須) -->
<name>HelloWorld</name>
<!-- インストール時に表示されるアプリケーションタイトル -->
<title>Hello Worldアプリケーション</title>
<!-- インストール時に表示される説明文 -->
<description>はじめて作ったAIRアプリケーション</description>
<!-- アプリケーションの著作権情報 -->
<copyright>2007 Shumpei Shiraishi</copyright>
<!--
アプリケーションのメインコンテンツとなるファイルの指定で、SWFファイルかHTMLファイルである必要がある。
systemChrome属性は、"standard"か"none"を指定可能で、"standard"の場合はOS標準のタイトルバーが用いられる。"none"の場合は、そういったウィンドウコントロールを自前で用意する必要がある。MXMLが<mx:WindowedApplication>をルート要素に持つ場合は、デフォルトのタイトルバーが表示される。
transparent属性をtrueにすると、作成するウィンドウの透明度を変更できるようになる。systemChrome属性に"none"を指定している場合にのみtrueを指定可能。
visible属性は、デフォルトでウィンドウを表示するかどうかの指定。falseを指定した場合、ウィンドウのvisibleプロパティがtrueになるまでウィンドウが表示されない。
width属性とheight属性は、ウィンドウの幅と高さの初期値を指定する。
-->
<rootContent systemChrome="none" transparent="true" visible="true" width="200" height="150">
Hello.swf
</rootContent>
<!--
デフォルトのインストール先フォルダを相対パスで指定。
(親フォルダはプラットフォームによって異なる)
-->
<installFolder>mycom/air/examples/hello</installFolder>
<!--
アプリケーションのオリジナルアイコンを指定する場合、PNG、GIF、JPEGファイルの場所をAIRパッケージ内におけるパスで指定する。
-->
<!--
<icon>
<image16x16>icons/AIRApp_16.png</image16x16>
<image32x32>icons/AIRApp_32.png</image32x32>
<image48x48>icons/AIRApp_48.png</image48x48>
<image128x128>icons/AIRApp_128.png</image128x128>
</icon>
-->
<!--
このタグを含めておくと、appIdが同じで、より新しいバージョンのAIRアプリケーションをインストールしようとした時、アプリケーション内でそれを検知して独自のアップデート処理(カスタムダイアログを出す、など)を行うことが可能になる。
-->
<handleUpdates/>
<!--
このAIRアプリケーションに関連付けるファイルの拡張子やコンテントタイプを指定する。
Windows環境では、すでに登録済みの拡張子の場合は「右クリック→プログラムで開く」の一覧に、未登録の拡張子の場合はデフォルトのアプリケーションとして登録される。
-->
<!--
<fileTypes>
<fileType>
<name>Text File</name>
<extension>txt</extension>
<description>Text File</description>
<contentType>text/plain</contentType>
</fileType>
</fileTypes>
-->
</application>
以上のファイルを準備し終わったら、AIRアプリケーションとして実行してみよう。
システムにインストールすることなくAIRアプリケーションを実行するためのコマンドとしてadlコマンドが用意されている。以下のように、アプリケーションディスクリプタファイルのパスを引数に与えてコマンドを実行する。
adl Hello-app.xml
実行した結果は以下の通りだ。
|
|
Helloアプリケーション。半透明なウィンドウになっているのがおわかりだろう。 |
最後に、AIRファイルにパッケージングすれば配布準備は完了だ。AIRファイルの作成には以下のようにadtコマンドを用いる。
adt -package Hello.air Hello-app.xml Hello.swf
adtコマンドの、-packageに続く引数は作成するAIRファイルの名称だ。続いて第二引数はアプリケーションディスクリプタファイルのパス、第三引数以降(複数)はAIRファイルに含めるリソースを指定する。
こうして出来上がったHello.airファイルをダブルクリックすると以下のようにインストーラが起動する。
|
|
Hello.airを起動して立ち上がったインストーラ |
最後に、AIRファイルの形式はZIP圧縮されたアーカイブファイルなので、拡張子を「zip」に変更することで中身を展開することができることをつけ加えておく。
今回は、SDKを使用した簡単なプログラミングの手法をご紹介した。次回からは、いよいよAIR ベータ版で行うことのできる先進的な機能を掘り下げて行きたいと思う。
【コラム】漢のzsh 第18回 コマンド補完設定 - daemonコマンド編(2)
【コラム】ダイナミックObjective-C 第82回 デザインパターンをObjective-Cで - Iterator (1)
| イプスイッチ、Windows環境の監視ツール「WhatsUp Gold」で日本語に対応 [15:33 5/28] |
| アイシンの最新安全運転システム - 車両周辺・後方障害物監視、わき見・居眠り判断 [10:30 5/28] |
| ラネクシー、画像処理ソフトウェア開発キットの最新版を64bit版で販売 [10:10 5/28] |
| 東陽テクニカ、1G/10GbE回線対応のポータブルネットワークアナライザ [09:57 5/28] |
| 日本発の取り組み「Mozilla Factory」がスタート [09:30 5/28] |
|
10,000円以上の利用で、ANA・JALの500マイルをプレゼント-コナカ [15:35 5/28] ライフ |
|
イプスイッチ、Windows環境の監視ツール「WhatsUp Gold」で日本語に対応 [15:33 5/28] エンタープライズ |
|
日興アセットマネジメント、『窓販マーケティング表彰』の全3部門で受賞 [15:32 5/28] ライフ |
|
JALオリジナルドリンク「スカイタイム キウイ」が期間限定で復活 [15:27 5/28] ライフ |
|
【レポート】注目アプリを探せ! iPad iPhone Wire人気アプリランキング - 5月20日~5月27日 [15:22 5/28] 携帯 |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。