昨日および先週末の fxug ツアーでお会いしたみなさま、ありがとうございました。fxug は初めての参加でしたが楽しかったです。あと、東京会場の Android 率の高さには驚きました。
セッションで使った資料をアップしておきますね。(fxugtour2010airforandroid.pdf)
昨日および先週末の fxug ツアーでお会いしたみなさま、ありがとうございました。fxug は初めての参加でしたが楽しかったです。あと、東京会場の Android 率の高さには驚きました。
セッションで使った資料をアップしておきますね。(fxugtour2010airforandroid.pdf)
Geolocation クラスの使い方は前回説明した Accelerometer と良く似ています。
Geolocation.isSupported 属性を使うと、実行環境で Geolocation が使えるかどうかを確認できます。値が true なら利用可能、false なら利用不可を意味します。
if (Geolocation.isSupported) { // Geolocationの機能が利用できる }
位置情報といえば GPS が有名ですが、GPS 以外の手段で位置情報を取得するデバイスもあります。そのため、isSupported の値が true であることは、必ずしも GPS が搭載されているという意味にはなりません。
また、GPS 情報が受信できない場合の補助用に、複数の測位システムを搭載しているデバイスもあります。このようなデバイスでは、アプリ実行中に利用する測位情報システムが変わる可能性があります。
利用する測位システムの種類によって、Geolocation からの通知のタイミングや頻度が影響を受けるようです。ですが、利用中の測位情報の種類を知る手段はありません。なので、Geolocation の振る舞いについては実機での検証がいるかもです。
多くのデバイスでは、位置情報を利用する/しないをオプションとして選択できるようになっています。この状態は muted 属性を使って知ることができます。値が true のときは利用しない、false のときは利用する、が選択されていることを示します。
この状態が変わると、Status イベントが発生します。イベントハンドラを追加することで、状況に応じて処理をすることができます。下はその例です。
Accelerometer クラスの続きです。今回は少し細かい点をいくつか。
まず、デバイスによって、アプリケーションからの加速度センサー利用の許可/不許可を切り替えられるものがあるようです。その場合、Accelerometer.isSupported の値が true でも、加速度センサーが利用できない!という状況が起きる可能性があります。
そこで Accelerometer には muted という属性が用意されています。Accelerometer.muted の値が false であれば加速度センサーの使用が許可されている、true であれば拒否されている、という意味です。
アプリケーション実行中に Accelerometer.muted の値が変更された場合には status イベントが発行されることになっています。加速度センサーの状態の変更を検知したい場合は、staus イベントのハンドラを Accelerometer のインスタンスに追加しましょう。Accelerometer が常に利用可能なデバイスでは status イベントが一切発行されないという状況もあるかもですが。
Flash アプリケーションは AccelerometerEvent.UPDATE イベントを通じて加速度センサーからの更新情報を知ることができます。では、いつ AccelerometerEvent.UPDATE イベントが発生するのか?というと、以下の 3 つの状況になったときだそうです。
flash.sensors は Flash Player 10.1 から追加された新しいパッケージです。
名前の通り、このパッケージには、デバイスのセンサーから情報を取得するためのクラスが定義されています。今のところ用意されているのは以下の 2 つです。
これで、デバイスの動きや位置に反応するアプリケーションが作れます。なお、Geolocation は AIR アプリからのみ利用可能です。(Flash Player では未サポート)
以下に、それぞれのクラスの使い方をまとめてみます。まずは、Accelerometer クラスから。
Accelerometer クラスは、加速度センサーにより検知されたデバイスの傾きや動きの情報をイベントとして通知する機能を持っています。
Accelerometer の機能は全てのデバイス上で使えるとは限りません。加速度センサーが搭載されていない環境で実行されることもあり得るからです。実行時に Accelerometer が利用できるかどうかは、Accelerometer.isSupported 属性を使って調べることができます。
if (Accelerometer.isSupported) { // Accelerometerの機能が利用できる }
Flash アプリケーションからは、実際に実行されるまで、実行環境に加速度センサーが搭載されているかは分かりません。Accelerometer を利用する場合は、とりあえず Accelerometer.isSupported の値を確認するのがよさそうです。
さて、上でも書いたように、Accelerometer からの情報はイベントとして渡されます。その際に発生するイベントは AccelerometerEvent.UPDATE です。
ということで、Accelerometer のサポート状況が確認できたら、次のステップは Accelerometer のインスタンスを作成して AccelerometerEvent.UPDATE イベントのリスナーメソッドを追加、というのが Accelerometer を使うときのお約束となりそうです。下はそのサンプルです。
ご質問いただいて書き忘れに気づきました。
Cairngorm 3 (Cairngorm@Adobe Open Source) が 5 月中旬に正式に公開されました。去年のベータ版についての記事でもお伝えしたように、Cairngorm 3 は特定の MVC フレームワークの実装としてではなく、様々なフレームワーク (Parsley, Spring ActionScript, PureMVC, Swiz, Mate 等) と一緒に使用できる、ガイドライン、ツール、ライブラリ群として提供されます。(Cairngorm 2 のライブラリも引き続き提供されます)
以下、全て英文ですが、現在提供されている、ガイドライン、ツール、ライブラリ、の一覧です。
Adobe Developper Connection (http://www.adobe.com/jp/devnet/) に、Flex 4 新機能のチュートリアルである Flex 4 マスターシリーズが掲載されています。
Flex 4.1 が公開されたことだし、そろそろ Flex 4 を実案件でも使ってみようか、という話が出る頃かも?ということでご紹介しておきます。どの記事も、Flex 4 になって新しくなった点が分かりやすく説明されていますのでお勧めです。
次期 Flex にあたる Hero の発表では、Spark コンポーネントが更に充実することが触れられていましたし、モバイルデバイス向けの新機能も Flex 4 をベースにしたものになるようですので、これから Flex の適用領域はますます広がりそうです。まだ Flex には触ったことが無い、という方もこの機会にチェックしてみてはいかがでしょうか。
以下が Flex 4 マスターシリーズ、充実の全 12 記事です。
Flex User Gourp Japan ツアー 2010 の大阪会場と東京会場で話すことになりました。持ち時間は 30 分で、5 月末からプレリリースプログラム (Adobe AIR for Android@Labs) の始まった AIR for Android を紹介する予定です。AIR for Android の情報を一般に公開するのは初めてだと思うので、まだプレリリースプログラムに参加されていない方には興味深いセッションになるかもです。
他にも、轟さんから先日発表になった次期 Flex の Hero の話 (もしかするとデモも?) がある予定です。こちらも本邦初公開になりそうです。また、本社エバンジェリストの Serge Jespers から Flash プラットフォーム最新情報の紹介も予定されています。
さらに、大阪ではさくーしゃさんが何かやってくれるそうですし、東京では池田さんが Flex と Progression の連携についてお話頂けるとのことです。
などなど盛りだくさんですので、ご都合のよい方は是非ご参加ください。もちろん参加費は無料です。参加者には MAX US ツアーご招待を始め豪華プレゼントのあたる抽選会もあったりします。プレゼントの詳細はこちらです。
参加登録はこちらから。
それぞれの会の詳細は以下の通りです。
大阪は
日時 2010年 7月 24日(土)13:00~17:30頃(開場 12:30)
会場 TKP大阪梅田ビジネスセンター ホール11A
〒553-0003 大阪府大阪市福島区福島5-4-21 TKPゲートタワービル
東京は
日時 2010年 7月 28日(水)13:30~17:30頃(開場 13:00)
会場 ゲートシティ大崎ゲートシティホール
〒141-8581 東京都品川区大崎1-11-2 ゲートシティ大崎ウエストタワー地下1階
Flex SDK 4 が公開されて 3 ヶ月ほど経ちましたが、次のリリースに関する情報が公開されました。コードネームは何を思ったか Hero です。(Adobe Open Source - Hero)
今年の後半にプレビュー版の公開、来年中に正式に出荷、が予定されています。
Hero は、大きく 3 (+1) つのテーマを元に開発されるようです。
Hero は、まだ公開されていない最新の実行環境 (おそらくこれとか) の機能を前提としているため、それらの実行環境が公開されるまでは、従来の Flex SDK のように nightly build を公開することができません。そのため、当面は未公開の実行環境に依存しない機能に限定して、ある程度の間隔で開発中の SDK が公開されることになるようです。最初の公開は、ここ数日内が予定されていて、上記リストの 2 と 3 のテーマからいくつかの機能が実装されたものになりそうです。
Hero の一番の目玉はマルチスクリーン対応です。Hero は、スマートフォン向けアプリケーション開発に対応します。もちろん従来のように Web アプリケーションを作ることも可能です。
昨年の時点では、Slider という名前でモバイルデバイス向けの新しい開発フレームワークを提供するという発表が行われていました。ところが、ここ 1 年間でのスマートフォンの性能の急速な向上と Flash プラットフォームのパフォーマンス改善により、既存の Flex フレームワークベースでもデバイス環境で使える目処がたったようで、Hero では予定を変更して、単一のフレームワークでモバイル環境からデスクトップ環境までサポートするという判断が行われました。これで、ロジック部分は共有して、UI のみプラットフォーム毎に作り分ける、なんてコトが簡単にできるようになるかもしれません。(含希望)
Hero ではタッチスクリーンに最適化された新しいスキンや機能が提供されます。また、モバイルデバイス特有の UI パターンをサポートするため新しいコンポーネントも追加されることになっています。これらのスキンやコンポーネントは従来の Flex のスキルをそのまま使って活用することができます。
ここで、少しばかり具体的な説明を。
Flex SDK 4.1 と Flash Builder 4.0.1 が公開されました。
Flex SDK 4.1 は Flex 4 の更新版です。Flash Player 10.1 と AIR 2 への正式対応や、いくつかのクリティカルなバグを含む 100 以上のバグフィックスが行われています。特に Flash Player 10.1 や AIR 2 をターゲットにしたアプリケーション開発を行っている方は早めのアップデートをお勧めします。
Flex SDK 4.1 のダウンロードは、アドビのダウンロードページ、またはオープンソースサイトから行えます。もしくは、Flash Builder 4 を Flash Builder 4.0.1 にアップデートしても Flex SDK 4.1 がインストールされます。
Flash Builder 4.0.1 は Flex 4.1 のサポートが主要な変更点ですが、こちらもいくつか主要なバグが修正されています。英文ですが修正された項目のリストは Flash Builder 4.0.1 fixed issues をご参照ください。
スタンドアローン版は、[ヘルプ] → [Flash Builder の更新を検索] と選ぶと、アップデートが行われます。Adobe サイトの Flex ダウンロードページからアップデータをダウンロードすることも可能です。 (Adobe Flex ダウンロード/Flex 4)
プラグイン版は、Flash Builder 4 全体を置き換える必要があります。アップデータは提供されませんので最新のプラグイン版をダウンロードしてお使いください。(Flash Builder 4 ダウンロード )現在インストールされている Flash Builder 4 をアンインストールしてからFlash Builder 4.0.1 をインストールします。