KVM for Palmチュートリアル
|
|
import com.sun.kjava.*;
public class HelloWorld extends Spotlet {
Graphics g = Graphics.getGraphics();
public static void main(String[] args) {
(new HelloWorld()).register(NO_EVENT_OPTIONS);
}
public HelloWorld() {
g.clearScreen();
g.drawString("Hello, world!", 50, 50, g.PLAIN);
}
public void penDown(int x, int y) {
System.exit(0);
}
}
|
作成したソースファイルをコンパイルするには、作業ディレクトリをprojectsフォルダに移動して、以下のようにjavaコマンドのコマンドラインを入力します(ここではCドライブにKVMフォルダをセットアップしたと仮定しています)。
cd C:\kvm\projects javac -bootclasspath .;C:\kvm\api\classes HelloWorld.java |
Mac OSの場合は、javacアプリケーションにHelloWorld.javaファイルをドラッグ&ドロップします。そしてjavacの設定フィールドに以下のように入力し、「Do Javac」ボタンをクリックします(ここではMac OSボリュームにKVMフォルダをセットアップしたと仮定しています)。
Source Files: /Mac OS/KVM/projects/HelloWorld.java Classpath: /Mac OS/KVM/api/classes |
クラスファイルをPalmマシンで扱えるようにするためには、PRC形式に変換する必要があります。このコンバージョンをおこなうためのMakePalmAppクラスが、toolsフォルダのclasses.zipファイルに格納されています。以下のようにjavaコマンドのコマンドラインを入力すると、HelloWorld.classファイルからHelloWorld.prcを生成することができます。
java -classpath C:\kvm\tools\classes.zip palm.database.MakePalmApp HelloWorld |
Mac OSの場合は、JBinderyアプリケーションにHelloWorld.classファイルをドラッグ&ドロップします。そしてJBinderyの設定フィールドに以下のように入力し、「Run」ボタンをクリックします。
Command: Class name: palm.database.MakePalmApp Optional parameters: HelloWorld Classpath: Addtions to class path: $CLASSPATH /Mac OS/KVM/projects /Mac OS/KVM/tools/classes.zip |
projectフォルダに生成されたHelloWorld.prcをHotSyncでPalmマシンにインストールすれば、他のデモアプリケーションと同様にHelloWorldプログラムを実行することができます。
スクリーンの任意の場所をタップするとHelloWorldプログラムは終了します。
アプリケーションプログラムの作成方法とオプションの詳細については、docsフォルダ内のドキュメンにまとめられています。オリジナルのアイコンの作成方法についても説明されていますので、一度目を通しておくとよいでしょう。
POSE
KVMで動作するアプリケーションを開発するときに、作成中のプログラムをその都度Palmマシンにインストールして動作テストをしていたら大変手間がかかります。そこで、Palmの開発ツールのひとつであるPalm OS Emulator(POSE)を利用することをお勧めします。
ダウンロード
POSEは、3Com/Palm Computingの開発者サイトからダウンロードすることができます。POSEにはWindows用(2,648,530バイト)とMac OS用(3,161,541バイト)があり、どちらも最新版はバージョン2.1d29となっています。
インストール
説明にしたがってインストールをおこない、最後に自分が使用しているPalmマシンのROMイメージファイルを作成します。ROMイメージファイルの作成は、POSEに付属のROM Transfer.prcファイルをPalmマシンにインストールした後、「File」メニューの「Transfer ROM」コマンドを実行することによっておこないます。