さらなる軽量化
本書にあるようにオブファスケーターツールを使っての軽量化以外に、プリプロセッサを使って定数置き換えと該当定数のコメントアウトを行うことでさらなる軽量化ができることがあります。詳しくはMIDP開発ツールのMIDPBuilder2のFAQページに記載されています。
また、画像を複数用意するよりも、1つの画像にまとめてしまうことで1画像に付き200バイト程度の軽量化が期待できます。描画時にはGraphics#setClipメソッドで描画可能範囲を指定した後に画像をずらして描画します。
画像名についても名前を短くすることで1文字につき4バイト程度の軽量化が期待できます。
|
|
インターバル
収録されているゲームでは再描画の間隔を100ミリ秒にしていますが、より細かい動作をさせる場合にはさらに短い間隔で再描画などをさせた方が好ましい場合があります。ただし、端末によってはあまり短い間隔で処理をさせようとすると問題が出る場合が考えられますので、実機でテストして問題がないことを確認して間隔を調整して下さい。
|
|
SpriteクラスとGameCanvasクラス
収録されているゲームの中でスプライト機能を実現するために独自に用意したSpriteクラスを使用していますが、MIDP2.0では同名のSpriteクラスが追加されました。もしMIDP2.0に対応予定がある場合には複数の同名クラスが存在するとわかりにくくなることがあるため、先に名前を変更しておいた方が好ましいでしょう。
同様に、GameCanvasクラスについてもMIDP2.0において同名クラスが追加されています。
|
|
J2ME Wireless Toolkitのエミュレーターを使ったデバッグ方法について
MIDP開発ツールのMIDPBuilder2のFAQページにおいてeclipseでJ2ME
Wireless Toolkitのエミュレーターを使ってデバッグする方法を掲載しました。リモートデバッグの要領がわかれば他のIDEにおいてもデバッグが可能になるはすです。
|
|
WindowsXPで開発する上での注意点
WindowsXPで開発をしていると「Thumbs.db」という名前のファイルがJAR(またはKJX)ファイルに入ってしまい無用にサイズが大きくなることがあります。
この「Thumbs.db」ファイルは、画像ファイルの入ったフォルダをエクスプローラーなどで縮小版表示(絵の内容を縮小表示する形態)で表示すると現れるOSのシステムファイルですが、通常は見ることができません。「Thumbs.db」ファイルの存在を知る方法を以下に記載します。
1. JARファイルの拡張子を「.zip」にしてZIP解凍ツールで中身を一覧表示してみる
2. エクスプローラーなどの[ツール]メニュー -> [フォルダオプション]メニュー -> [表示]タブから「保護されたオペレーティング
システム ファイルを表示しない(推奨)」チェックボックスをはずす
※なお、このチェックボックスはチェックしていることが好ましいので、使用時には注意して下さい。
「Thumbs.db」ファイルは意外に重く、数十KBあります。JARファイルの中に入った時にはその半分の容量になりますが、携帯電話Java開発時には無用なサイズです。「Thumbs.db」ファイルは削除しても問題のないファイルだと思われますが、もし削除する場合は自己責任の上で行って下さい。
|
|
オブファスケーターについて
書籍の中ではJARファイルの軽量化としてオブファスケーターツールのRetroGuradを使用していますが、Class#forNameメソッドを使用されている場合にはエラーになるという制約があります。そのため、もしその様なエラーに遭遇した場合は同じくGPLで配布されているProGuardを使用することをお勧めします。
なお、MIDP開発ツールのMIDPBuilder2.xでは
ProGuardを使う様に変更されました。
|
|
J-PHONE端末の容量制限について
書籍発売後にJ-PHONEの端末ではJARファイルのサイズが256KBに増えました。詳しくはJ-PHONEのサイトで確認して下さい。
|
|
System#arraycopyについて
書籍の中では配列の中身を同期させるためにSystem#arraycopyメソッドを使用していますが、synchronized節を使用して配列を同期させることも可能です。
|
|
ezplusエミュレータについて
書籍発売後にKDDIのサイトにおいてezplus向けエミュレータが公開されました。このエミュレータには、2章においてKDDIの環境を整備する際に触れているKJXToolも付属していますが、KJXToolの設定方法、および使用方法に関しては書籍で説明している内容とほとんど変わりはありません。
ezplus向けエミュレータの使い方に関しては、J-PHONEのエミュレータとほぼ同じです。詳細はエミュレータに添付されているドキュメントを参照して下さい。
|
|
ezplusをXHTMLページからダウンロードする方法
- 87ページ 2-6-6 実機での実行とダウンロードCGI
- 90ページ 2-6-8 Webページの作成
上記ページにおいてezplusはXHTMLページではダウンロードできないと記載がありますが、HDMLを記載する時に使用した指定内容をXHTMLのaタグを使用して記載することでXHTMLでもezplusのダウンロードが可能になります。ただし、XHTMLを使用した場合でもサーバ側にダウンロードCGI(※注1)を設置する必要があります。
(※注1)A5301T以降のezplus対応端末では、XHTMLのobjectタグによるダウンロードが可能になりました。そのため、ダウンロードCGI、CRCチェックバリュー処理をする必要はありません。詳しくはKDDIのサイトを参照して下さい。
以下の例では、本書90ページに記載してあるHDMLページ例で記載した内容をXHTMLのaタグのhref属性に指定した例です。
href属性値は独自のものであるため、KDDI端末以外ではダウンロードすることができなくなっています。
----- ezplusをダウンロードするXHTMLページの記載例(download.html) -----
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//OPENWAVE//DTD XHTML 1.0//EN"
http://www.openwave.com/DTD/xhtml-basic.dtd>
<html>
<head></head>
<body>
<a href="device:data/dnld?url=http://server/cgi-bin/download.cgi&name=SimpleMIDlet.kjx&size=1070&disposition=devkdj2&title=SimpleMIDlet">
SimpleMIDlet</a>
</body>
</html>
----- ezplusをダウンロードするXHTMLページの記載例(download.html) -----
|
|
|
|