Android と Applet の互換ってできるもんだね 
2014/06/09 Mon [edit]
以前から考えていた Android と Applet の互換コーディングに成功。ほぼ想定通りだったかな。主に両プラットフォームに共通部分はインターフェイス(interface)と抽象クラス(abstract)で構成し、各プラットフォーム依存のオブジェクトは、それら共通オブジェクトをインプリメントした実装クラスをオブジェクトラッパーのように使うことにより、ほぼ同じコードで動かせるようになった。これならコピペで移植出来るね(笑)。

(左)Appletビューワ / (右)Androidエミュレータ
見た目も細かく調整したので、ほとんど変わらない。内蔵フォントの違いなどはあるけどね。これらの実行部分はまったく同じコード。別コードで表記しなくてはならない箇所は、起動クラスとその構成を司る部分(Android では Activity と View、アプレットでは Applet)だけだね。一度それらを起動してしまえば、あとはすべてラッパークラスで十分だった。
元々この Android と Applet の互換ライブラリは、頭にあった構想をただ作ってみただけだけど(特に意味はない。興味本位(笑))、完成してみたら、結構使えるかもね。というのは、Android のエミュレータって物凄く重いので、特にリアルタイム処理の確認には向かない。だから必ず実機で確認するしかないんだけど、このライブラリを使うとアプレットで動作を確認してから、Android 用にコンパイルしても動く。AppletViewer の動作は速いので、エミュレータ代わりに使える。これらサンプルはそうやって作ったもの。非常に開発が楽だ(笑)。
実際に動いているものを見てみたい場合はこちら↓
[Rule Generator Demo]
Applet 版のサンプル(PC[IE]でアクセス)
Android 版のサンプル(Android2.2以降でアクセス)
ちなみに Rule Generator というのは、トランジションルール画像の自動生成ツールを Java に移植したもの。このデモはそれをランダムに生成して、トランジション効果を試しているだけ(ゲームではない)。
ただし、実行にはかなりメモリを食うので、スホマは Out of Memory で落ちることもあるかも。その辺の調整はまた考えるしかないね。
ライブラリのコードは元の約3倍になってしまったが、体感的にはそれほど実行速度は落ちてないかな。リアルタイムな fps モニタ機能をつけてあるが、スマホの方が速いみたい。これからはこれで簡単なゲームでも作ってみるかな。
※キャラクター画像は「著作権フリー立ちキャラクター素材集」を使用しています。
(関連記事)
【Android】【Applet】【Java】interface と abstract の使い方・違いとは~簡単なフレームワークを作って、考えてみる
【Android】【Applet】【Java】interface を使って独自のラッパークラスを作る
【Android】【Applet】【Java】interface を使ってインスタンスを生成する
- 関連記事
-
-
【一覧】Java, C#, PHP, Ruby, Python, JavaScript での Math.round(四捨五入・五捨六入)比較
-
トランジションルール画像の自動生成を移植
-
Android と Applet の互換ってできるもんだね
-
HTMLカラー名・カラーコード表
-
トラックバック
トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/113-447da106
この記事にトラックバックする(FC2ブログユーザー)
| h o m e |