AndroidでFlashを再生させる3つの方法

このエントリーをはてなブックマークに追加

Android 2.2以降 で Flashを再生するには、3つの方法が考えられます。

  1. AIR for Androidでアプリにして再生する。
  2. ブラウザでFlashを再生する。
  3. 通常のAndroidアプリのWebView経由で再生する。

1)AIR for Androidでアプリにして再生する。

話題のFlashからAndroidアプリが作れるというものです。

上条さんの資料が超解りやすいです。
http://cuaoar.jp/assets/fxugtour2010airforandroid.pdf

AIR for Androidについて詳しくは、本を書きましたので、こちらもご参考までに。


Flashで作るAndroidアプリ開発ガイドブック
http://amzn.to/nMSGhB

2)ブラウザでFlashを再生する。

Android2.2はブラウザがFlashに対応しているので、
SWFファイルをブラウザで再生できます。

iPhone等のiOSの端末はGoogleのSwiffy等でHTML5に変換して再生させます。

その辺りの詳細は、スマホ向けFlashサイトの作り方の記事を書きましたので、よろしければそちらも是非ご覧ください。

スマホ向けFlashサイトを作るには? 第一回 準備編
http://hi-posi.jp/?p=1217

3)通常のAndroidアプリのWebView経由で再生する。

通常Androidアプリを開発する時はJavaで行いますが、
そこでwebViewクラスを使いアプリ内にブラウザの機能を持たす事ができます。
これはブラウザでFlashを再生する事と同じです。

@yoropanさんがサンプルファイル付きで解説されています。
http://yoropan.com/blog/archives/561

4)できそうでできない事

Androidといえば、ウィジットや、ライブ壁紙ですが、
AIR for Androidを使っても、Flashでウィジットやライブ壁紙を作る事ができません。
そのあたりをまとめました。(2011/5/26)

AIR for Androidでできない事
http://hi-posi.jp/?p=1050

では、上記の3つの再生時の違いがあるのでしょうか?
手元にNexus Oneしかないのですが、どの機能をサポートしているのか、調べてみました。

■Nexus One(Android2.2)でFlashを再生する。(2010/08/24)
[TABLE=3]

TouchEventsは、ブラウザの場合、1しか取れないようです。
それならば、MouseEventでいいですね。。

ジェスチャーはAIRのみで、ブラウザでは対応していないようです。
マイク、加速度センサーもブラウザで対応しているようです。
他のデバイス寄りの機能はブラウザでは使う事ができないみたいです。

また再生速度もAIR for Androidの方が早く、
タッチでオブジェクトを移動する簡単なサンプルをつくったのですが、
AIR for Androidの方が1.5~2倍くらい早いフレームレートがでていました。

■Android2.2は使えるか?

2.2はまだ普及してないから、Flash使えないじゃん!となりそうですが、
全くもってその通りです。

Androidマーケットを利用しているユーザーのバージョンをGoogleが公開しています。
http://developer.android.com/resources/dashboard/platform-versions.html

8月2日までの2週間で2.2のユーザーは4.5%で、2.1が59.7%みたいです。

しかし、この↓の表の2.1の伸び様をみてみて下さい。

急激にシェアを伸ばしています。

来年再来年には、様々なAndroid端末がでてくると思いますが、
おそらくそこではFlashが普通に再生できます。

そしてまた今後、画面サイズやら、メモリやら、できるできないという様々な問題がでてくると思います。

なので今は、デバイスでFlashが再生できる、その事をしばし楽しみたいと思います。

One Comment

  1. […] あとはブログのエントリーにしたAndroidでの3つのFlashの再生方式の違いです。 さらにパネルディスカッションにも参加させていただきました。 […]

Leave a Reply