第15回 アニメーションGIFを使ってみる

連休をはさんで大型のアプリを計画していたのだが,本命のiアプリ製作が終わっていないので,今回はアニメーションGIFの取り扱いを紹介する。ネットワークとも絡めて説明してみよう。

【国内記事】 2001年5月11日 更新

VisualPresenterでアニメーションGIF

 アニメーションGIFは手軽に絵を動かす手段としてWebで盛んに利用されている。iモードでももちろん利用されているので,携帯端末自体,アニメーションGIFをサポートしていると考えられる。そのためiアプリでもアニメーションGIFは簡単に表示できるわけだ。

 アニメーションGIFは,連載で既に取り上げたメディアデータの一種に位置付けられていて,取り扱いも,ほぼサウンドと同じ手続きが利用できる。

 まず,MediaManager(詳細はサウンドの回を参照のこと)を通じてメディアデータ(MediaImage)を取得する。

MediaImage mi =
 MediaManager.getImage(
   メディアデータのURL );

 続いて,サウンドの時と同じように,メディアデータの使用を宣言する。

try {
 mi.use();
}
catch( ConnectionException e ) {
}
catch( UIException e ) {
}

 以上のようにして取得したMediaImageを表示するのは,VisualPresenterという高レベルコンポーネントだ。コンポーネントなので,Panelなどに貼り付けて利用する。まず,VisualPresenterを生成しよう。

VisualPresenter vp =
 new VisualPresenter();

 このVisualPresenterにMediaImageを設定し,Panelなどに貼り付けよう。

vp.setImage(mi);
panel.add(vp);

 あとはサウンド同様に,次のようにすればアニメーションGIFの再生が始まる。

vp.play();

 そのほか,イベントの取り扱いなどはサウンドと同様だ。

ネットワークからアニメーションGIFをダウンロードする

 今回は以上の手順を踏まえ,アニメーションGIFをネットワークからダウンロードして表示するサンプルを掲載しておく。サンプルリストは,ここからダウンロードでき,503iを所有している人はhttp://gadget.mda.or.jp/i/Animation.htmlで試すことができる。動作はN503iで確認しているが,基本的にどの503iでも動くだろうと思う。

 サンプルでは,テキストボックスを利用してデータをダウンロードするURLが入力できる。初期に入っているURLのGIFデータは,ポータルサイトVlinkの連載「ドット絵職人といふもの 21」から頂いた。iアプリで使うアニメーションGIFやGIFデータを作成する際に参考になる連載なので機会があったら,ぜひ参照していただきたい。

 ところで,サンプルのURL入力欄に,異なるサーバーにあるGIFファイルのURLを入力してダウンロードしようとしても,おそらくエラーになるはずだ。なぜだろう? 実はメディアデータのロード先にURLを指定するとエラーになるという質問が読者からも寄せられているのだが,これはセキュリティに関連したエラーだ。

 iアプリには,セキュリティを確保するために「アプリケーションをダウンロードしたサーバーにしかアクセスできない」という制限がある。そのため,iアプリをダウンロードしたのではないサーバーを指定するとセキュリティエラーが出てしまうのだ。

 エミュレーターで実行している時も同じで,エミュレータがセキュリティエラーを出す。エミュレータで実行しているときは,ローカルPC(のディスク)からダウンロードして実行する形になっているので,ネットワークの先にあるURLを指定すると「ダウロード先が違う」からである。

 しかし,NTTドコモの開発ツール(DoJa)付属のエミュレータは見せ掛けのダウンロード先URLが設定できる。KToolbarを利用する場合は,メニューで[編集]−[設定]を選び読み込み先URL欄に,開発中のアプリをアップロードする予定のURLを入力。NetworkAccess項目をenableにすればいい。

 その後,アップロード予定のURLにiアプリがアクセスするGIFファイルなどを置いておけば,エミュレータからでもネットワークに接続できるようになるはずだ。

KToolbarの[編集]−[設定]でダミーの読込先URLを設定できる。ここに,開発中のiアプリをアップロードする予定のURLを入れておこう

関連記事
▼携帯向けJava,3社の違いは?
▼P503i,SO503iのiアプリに問題
▼Qualcomm,携帯電話向けプラットフォーム「BREW」発表──au端末に搭載
▼503iのベンチマーク結果をどう読むか?
▼iアプリの互換性は大丈夫なのか?
▼携帯電話はPCと逆方向に進化する?
▼iモード対応Javaを作るのに必要なものは?──NTTドコモ,仕様をついに公開
▼iモード対応Javaを作るのに必要なものは?──NTTドコモ,仕様をついに公開

[米田 聡,ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.



モバイルショップ

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!