自分のPalm(CLIE PEG-N700C)で自分で作成したプログラムを走らせて見たいと思い、まずは無料のJAVAで私なりに試してみましたので、その方法を説明します。(間違っている箇所があるかもしれません。)
Palmの実用ソフトの作成をしようと思うなら、CodeWarrior for Palm OS platform のような商品の開発ツールを使って作成すべきかもしれない。 SONYの「クリエ」ディベロッパーのサイトでも CodeWarrior を薦めている。
必要そうなのをいろいろと検索してダウンロードしました。
- Java2 Standard Ediition Ver. 1.3.1.03
- j2sdk-1_3_1_03-win.exe
- サイズが大きくてダウンロードは大変です。
最新リリースのバージョン1.4では、操作方法が違うのかうまくいきませんでした。
- MIDP referrence implementation v1.0.3
- j2me_midp-1_0_3-fcs-src-b26-win-19_sep_2001.zip
- ダウンロードするのに、登録してIDの取得が必要です。(無料)
- javac でコンパイルするときのライブラリ
- 形態電話のシミュレータを実行させるソフト(midp.exe)
- プリベリファイアの実行ファイル(preverify.exe)
- Bata version of MIDP for Palm OS
- midp_palm-1_0-beta.zip (無料)
- Palmにインストールする為のJAR→PRCのコンバータ(Converter.jar)
- Palm上でJ2ME MIDP で作成したソフトを動作させるためのソフト(MIDP.prc)
midp4palm-1_0.zipではJAR→PRCのコンバータがうまくいきませんでした。
- CLIE PEG−700C用のROMイメージとエミュレータ
- N700CposeJ.zip
- ダウンロードするのに契約書のFAX送信が必要です。(無料)
- Java2 Platform Standart Edition のインストール
- 実行形式のファイルで実行すればセットアップされます。
- JMIDP と MIDP for Palm OSのインストール
- ファイルは圧縮ファイルなので、まず、解凍してみます。
環境変数をセットするパッチファイルを作成します。 セットアップと解凍は C:\jdk1.3.1_03 と C:\midp1.0.3fcs に行ったものとしています。
IF %MIDP_HOME%.==C:\midp1.0.3fcs. GOTO JMP SET JAVA_PATH=C:\jdk1.3.1_03\ SET MIDP_PATH=C:\midp1.0.3fcs\ SET PATH=%PATH%;%JAVA_PATH%\bin;%MIDP_PATH%\bin SET JAVA_CLASSPATH=%JAVA_PATH%\lib\tools.jar SET MIDP_CLASSPATH=%MIDP_PATH%\classes SET CLASSPATH=%JAVA_CLASSPATH%;%MIDP_CLASSPATH;%CLASSPATH% :JMP
ファイル名は MIDP_SET.BAT としました。 わたしはバッチファイルはC:\Tool\Bat のディレクトリを作成して入れる事にしています。 そして、Autoexec.bat で C:\Tool\Bat にPATH を設定しています。
環境変数 JAVA_PATH と MIDP_PATH はコマンドラインやバッチファイルから %MIDP_PATH% 指定して置き換れるようにする為に設定しています。 CLASSPATH は設定すれは、どこのディレクトリからでもクラスライブラリが使えるようになるそうです。
JAVA 2 ではディフォルトすでに下記の設定になっているそうです。
SET CLASSPATH=C:\jdk1.3.1_03\lib\tools.jar;.;%CLASSPATH%
![]() |
midp1.0.3fcs\src\example にある HelloMIDlet.jad を使用してみます。DOSプロンプトのコマンドラインで操作します。 midp -classpath ..\..\classes -descriptor HelloMIDlet.jad CLASSPATH に midp1.0.3fcs\classes の場所が設定されているので、-classpath ..\..\classes の指定を省略できるので次のようにしても実行できます。 midp -descriptor HelloMIDlet.jad |
携帯電話のシミュレータの画面が現れます。画面の Launch の下にあるボタンをクイックすれば液晶画面の文字が変わります。
エクスプローラからを指定のフォルダーでDOSプロンプトを起動出来る便利な方法があります。その方法
サンプルのソースファイルの HelloMIDlet.java をコンパイルします。コンパイルによってどのファイルが作成されたかのかがよくわかるように、C:\midp1.0.3fcs\src\temp のディレクトリを作成して、そこに HelloMIDlet.java をコピーします。
DOSプロンプトで、コピーした C:\midp1.0.3fcs\src\temp のディレクトリの中から実行します。
javac -g:none -bootclasspath %MIDP_PATH%\classes -classpath %MIDP_CLASSPATH% -d . HelloMIDlet.java
HelloMIDlet.java がコンパイルされて、HelloMIDlet.class が作成されます。
-d オプション指定の後の”.”はカレント(現在の)ディレクトリにファイルを作成するという意味です。-classes %MIDP_HOME%\classes は環境変数 CLASSPATH で設定しているので省略できます。
このコンパイルによって作成されたクラス(HelloMIDlet.class)はプリベリファイアをかけます。
preverify -d . -classpath %MIDP_PATH%\classes .
プリベリファイアをかけることにより HelloMIDlet.class が上書きされてサイズが少し大きくなります。エクスプローラでみると 1Kバイト単位なので同じにみえるかもしれませんが、プロパティのバイト単位でみると大きくなっているのがわかります。 -d オプションの”.”は出力ディレクトリ指定ではカレント(現在の)ディレクトリにしてるから上書きされたわけです。HelloMIDlet.classの前の”.”は作業ディレクトリの指定です。これもカレント(現在の)ディレクトリにしています。
クラスファイルを jar で圧縮する必要があります。
jar -cf HelloMIDlet.jar HelloMidlet.class
HelloMIDlet.jad が出来ていません。これは、自分で作成しないといけないのでしょうか?とりあえず、C:\midp1.0.3fcs\src\temp からコピーしてください。
javac のコンパイルエラーのメッセージは標準エラー出力に表示されます。これはMD-DOSのインタープリタの”>”では、標準出力のもので、標準エラー出力はダイレクト出来ません。GNUのBASHのようなシェル上であれば、標準エラー出力は”2>”でリダイレクトできます。
![]() |
PalmにインストールするのはPRCファイルですから、HelloMIDlet.jar をコンバートします。midp_palm-1_0-beta.zip を解凍した、midp4palm1.0\Converterのフォルダーにコンバータのソフトがあります。converter.bat をみると実行方法がわかります。 javaw -jar Converter.jar 実行すると、右の図の画面が現れます。これは、JAD/JARのペアファイルをPRCファイルにコンバートするソフトです。メニューのFileからJADファイルを選択して、CONVERTボタンでPRCファイルにコンバートします。 MIDlet-Name: HelloMIDlet 上記のように次のよう HelloMIDlet.jad ファイルを修正して、再度コンバートしてみす。 |
![]() |
midp_palm-1_0-beta.zip には、MIDP.prc が入っています。これが、J2ME MIDPのライブラリで作成したJavaをPalmで走らせる為のソフトのようです。他にもサンプルが入っています。 左の画面は、シミュレータでPEG−700C用のROMイメージを設定して実行し、MIDP.prc と Games.prc をインストールしたときのものです。Game を実行してみました。ちゃんと動作するようです。 先ほどコンバートした、HelloMidlet.prc も試しにインストールしてみました。形態電話用のソフトだと思っていたのにPalmでもうまく動作しました。 |
<後日につづく>