AIR SDKとFlex SDKではじめてのAIRアプリケーションを作る

はじめに

OSXとテキストエディタを使ってはじめてのAIRアプリケーションを作成してみましょう。AirとはFlashやAjaxなどweb技術を用いてデスクトップ用のアプリケーションを作成するためのフレームワークです。

Airの特徴として、ブラウザ上で動作しているアプリケーションで実現するには難しい、デスクトップからファイルをDrag&Dropしたり、ローカルファイルシステムへのアクセスなどOSの機能を利用することもできます。

またAirで作成されたアプリケーションはWindows、OSX、Linuxで動作するためより幅広いクライアント環境で動作させることができます。

Airを作成するためのSDKはadobeが無料で公開しており、Flashアプリケーションを作成するためのFlexもオープンソース化されたことにより無料で開発環境が用意できます。

さらにFlexBuilderという有料のIDEも用意されているためVisualStudioやEclipseに慣れた開発者の方はこちらを購入するとよいと思います。

今回はIDEは使用せずにテキストエディタとコマンドラインで開発しています。

ここではAdobeのドキュメントに従って半透明なウィンドウにHelloWorldと表示させるアプリケーションを作りながらFlexとAirのSDKの使い方とアプリケーション開発の流れを紹介しています。

完成アプリケーションはこのようになります。AIRアプリケーションサンプル

開発環境を準備する

ここではOSX環境で説明していますが、WindowsやLinuxでも基本は同じです。

FlexSDKAIR SDKをダウンロードします。
AIR_SDKディレクトリとflex_sdk_3ディレクトリをそれぞれ/Applicationsディレクトリにコピーします。

Pathに各ディレクトリのbinを設定します。
ここでは.bashrcに次のように追加しました。

export PATH="........
/Applications/flex_sdk_3/bin:\
/Applications/AIR_SDK/bin/"

ターミナルを立ち上げコマンドラインから

>adl -help
>amxmlc -help

が実行できればAIRFlexの開発環境が整いました。

AIRアプリケーション記述ファイル作成

HelloWorld-app.xmlというファイル名で、次のようなアプリケーション記述ファイルを作成します。
[sourcecode language="xml"]



    samples.flex.HelloWorld
    0.1
    HelloWorld
    
        HelloWorld.swf
        true
        none
true
        400
        200
    

[/sourcecode]
この例ではいくつかの設定しか記述していません。透明度やアイコン、ディフォルトのインストール先など、数多くの設定可能なすべてのプロパティはドキュメントを参照してください。

アプリケーションのコードを書く

SWFベースのAIRアプリケーションはMXMLを使ってもActionScriptを使っても作成できますが、ここではFlexSDKとMXMLを使っています。

1. テキストエディタを開きHelloWorld.mxmlという名前で次のコードを入力します。
[sourcecode language="xml"]



    
        WindowedApplication
        {
            background-color:"0x999999";
            background-alpha:"0.5";
        }
    
    

[/sourcecode]

mx:Labelで中央にHelloWorldを表示し、mx:Styleで背景色と透明度の設定をしています。

アプリケーションをコンパイルする

amxmlcコンパイラを使ってMXMLファイルをSWFファイルにコンパイルします。

HelloWorld.mxmlのディレクトリに移動し、次のコマンドでコンパイルします。正常にコンパイルできれば、HelloWorld.swfが作成されます。

 amxmlc HelloWorld.mxml

アプリケーションのテスト

AIRデバッガーランチャー(ADL)を使い、アプリケーション記述ファイルを指定してAIRアプリをデバッグ実行することができます。

コマンドラインから次のコマンドを入力するとアプリケーションが起動します。

>adl HelloWorld-app.xml

AIRインストーラーファイルの作成

アプリケーションが完成したらADTユーティリティを使用してAIRインストーラーファイルにパッケージ化します。
アプリケーションの安全のため、すべてのAIRアプリケーションはデジタル署名が必要となっています。ここでは開発用の自己証明書を使ってインストーラーファイルを作成します。自己証明書の場合インストール時に表示される配布者アイデンティティがUnknownとなります。

製品向けにアプリケーションを配布する場合は VeriSignやThawteからキーを購入することができます。

1.自己証明書を作成する
次のコマンドを実行します。

adt -certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword

2.インストーラーの作成
次のコマンドを実行します。(実際は一行です)
パスワード入力が求められるので上で入力したsamplePassowrdを入力してください。

adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air
HelloWorld-app.xml HelloWorld.swf

これでHelloWorld.airが作成されました。このファイルをダブルクリックすることで、アプリケーションをインストールし、実行することができます。

簡単ですね。実際にはMXMLでより複雑なアプリケーションを作成していくことでしょう。または、SWFのかわりに、HTMLとJavascriptを用いてもAIRアプリケーションを作成することができます。

Posted in Article (記事) | Tagged , | Leave a comment

NextGENギャラリー 0.96日本語化

WordPressプラグインのNextGENギャラリーを日本語化しました。

NextGEN Gallery日本語化

NextGENGalleryのバージョン0.96をベースにしています。

ダウンロードしたファイルを解凍した出てきたファイルnggallery-ja.mowp-content/plugins/nextgen-gallery/langにコピーするだけです。

さくっと翻訳しているので分かりにくい部分や間違った翻訳がある可能性があります。できるだけ最新版にフォローしていきたいと考えていますので、間違いなどがあればどうぞコメントお願い致します。

 [download#1#size#nohits]

ライセンスはNextGENGarallyと同じGNU GPLです。

nggallery-ja.poは翻訳の元になっているファイルです。

poからmoを作成するにはLinux、OSXではコマンドラインから。

>msgfmt nggallery-ja.po -o nggallery-ja.mo

を実行します。

Posted in Article (記事) | Tagged , | 5 Comments

ArduinoでFonとシリアル通信(DD-WRT化)

arduino_and_fon

しばらくFonとして運用していましたが、MyPlace、FON_APともあまりにも遅く、接続が頻繁に途切れるなどトラブルが多かったので物置に眠っていたのですが、DD-WRT化の実験のために取り出してきました。

OSX + Arduino + Fonで正常に書き換えできましたのでメモしておきます。

コネクタケーブル作成

材料

  • Fon
  • Arduino
  • ケーブル
  • 1×6メスコネクタ

コネクタへケーブルを次のようにはんだづけします。

  • 黒: GND – 1pin
  • 緑: TX – 3pin
  • 黄: RX – 4pin

 

Fon、Arduinoと接続

IMG_0519.JPG IMG_0521.JPG

FonにはGND(黒)を箱側にして2列のIC側に接続します。Arduinoには黒-GND、緑-TX-6ピン、黄-RX-7ピンに接続します。

ソフトウェア

AF_SoftSerial libraryをダウンロードし、Arduinoのディレクトリのhardware/libraryにコピーします。

Arduinoに次のコードを入力し転送します。
[sourcecode language='c']
#include

AFSoftSerial mySerial = AFSoftSerial(6, 7);

void setup() {
pinMode(13, OUTPUT);
Serial.begin(9600);
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
}

void loop() // run over and over again
{
if (mySerial.available()) {
Serial.print((char)mySerial.read());
}
if (Serial.available()) {
mySerial.print((char)Serial.read());
}
}
[/sourcecode]

接続

Fonの電源を入れるとシリアルコンソールに起動画面が表示されるはずです。

OSXでは

ターミナルを立ち上げ

screen /dev/tty.usbserial-A4001sLW

とすることで、Fonと接続できます。接続ができたらこちらの手順にそってDD-DRT化することができます。

備考

FonのRXを接続したままでは電源を入れても起動しない場合があります。その場合はArduinoから黄色のケーブルを抜いておいて起動メッセージが表示された後にケーブルを接続します。

参考:

http://www.ladyada.net/make/eshield/download.html

http://www.dd-wrt.com/wiki/index.php/LaFonera_Software_Flashing

http://jauzsi.hu/2006/10/13/inside-of-the-fonera

http://www.easy2design.de/bla/?page_id=98

http://labs.echoditto.com/hacking-la-fonera-2

http://www.mariomix.net/mariomix-blog/2006/11/hacking-la-fonera-parte-3/

Posted in Article (記事) | Tagged , | Leave a comment