第1回 デモで遊んでみよう!

ごあいさつ

はじめまして、happy yamachan (山下利夫) と申します。 趣味の Java プログラマーです。

2001年の8月に安くなった Visor Platinum を購入。 その素晴らしい使い易さ、"ZenOfPalm" の思想に惚れました。 いまではすっかり生活の一部に。 そして2002年の3月に CLIE PEG-NR70 を購入し、改めてハマっています。 (^-^)/

Palm 用の Java

数年前から、KJava という Java の実行環境が Palm OS 上で動いていました。 Java 関係の展示会では必ずデモされてましたね。 KJava の 'K' は確か 'キロバイト (Kbytes)' の意。 つまりキロバイト単位のメモリでも動作する 小さな Java 実行環境 のことです。

また日本では携帯電話で動くJava iモード がブームになり、 KJava と共に1つの規格になりました。 それが J2ME (Java2 Platform, Micro Edition) です。 J2ME の発表後、KJava の配布は終了しています。

この J2ME についての説明は 補足1 J2ME を理解しよう! にまとめてみました。 J2MEプログラミングに必須の知識ではありませんが、 他の Java 環境との違いを理解するのもよいかと。 (^-^;

他の開発環境との比較

Palm には様々な開発環境があります。 その主要なものについて、僕の理解は

環境 言語 実用度 お手軽さ ランタイム 実行速度 コスト
CodeWarrior C/C++
PRC-Tools C/C++
NS Basic Basic
PocketStudio Pascal
J2ME Java


ランタイムの評価で、必要ないものは ◎ に。 84k bytes と小さく、prc ファイルに含めることができる NS Basic は ○ に。 583k bytes が必要な J2ME は △ にしました。

本格的なソフトを作りたいならば CodeWarrior、 Cygwin 等の環境が作れるならば PRC-Tools でコスト削減。 手軽に開発したいならば NS Basic。 PocketStudio は後発だけあって隙が無く、 Delphi/Pascal 使いならば文句無しでしょう。

この表で見るかぎり、J2ME はちょっと中途半端な存在ですね。 (^-^; 手軽に何か作りたいけど、予算は無い人向けって感じでしょうか? あとは Java の経験者とか。 (^-^;;

現時点でのメリット&将来への期待

確かに現時点ではあまりお勧めできない Java環境ですが、 表にあらわれないメリットもあります。

最大の特徴は、携帯電話 でも動作するソフトウェアが開発できること。 作成したソフトウェアは、Palm機だけではなく、 J-Phone や au の携帯電話でも実行させることが出来ます。

また Java言語は 初心者向け の言語といわれています。 入門書も多数出ていますし、大学の授業等でも Java を使用するケースが増えているそうです。 J2ME は Java 言語のサブセットであり、 API の数も限られているので、入門には最適ではないかと思います。

また作成されたソフトウェアは、Javaコード という中間コードで記述されています。 ARM ベースの Palm 機が登場し、Java実行環境が高速化すれば、 作成したソフトウェアは再コンパイル無しで高速化されることが期待できます。

現時点での J2ME は、実用性のあまりない 趣味の開発環境 だと思います。 以下の4つの問題が近い将来に解決されれば、 Javaでの開発が主流になるのではないかと期待しています。

  • Palm 固有の機能のサポート (Palm用の追加API)
  • 日本語のサポート (β版では使えた)
  • ランタイムのサイズ (PalmOS への統合、ROM への搭載)
  • 実行速度の向上 (KVM の ARM化)

J-Phone/au 携帯用の 追加API は既に存在するので、 将来は Palm用のものが登場すると期待しています。 KJava では使えたハズなのに、J2ME には入ってない機能もありますしね。

追加APIの登場による機能の充実、ARM化による実行速度の向上、 その結果としての PalmOS による標準サポート。 現時点ではまだ夢物語ですが、期待はできると思います。

とりあえずは、試してみましょう!

百聞は一見に如かず。 開発環境について説明するまえに、まずは Palm 機で Java を動かしてみましょう! Java環境 (KVM) といっても、単なる Palmware です。 簡単に削除できますので、気楽に試してくださいませ。 (^-^)/

MIDP for Palm の入手

MIDP for Palm は、サンのサイトから無償で入手できます。 ダウンロードし、適当なディレクトリに解凍しましょう。 私は c:\midp4palm1.0 に解凍しました。

 

ソフトウェア名 Mobile Information Device Profile for Palm OS 1.0
対象OS PalmOS 3.5 以上
ダウンロード先 http://java.sun.com/products/midp4palm/
ファイル名 midp4palm-1_0.zip
サイズ 553,083 バイト
インストール方法 zip ファイルを解凍



Palm機 へのインストール

PRCfiles ディレクトリの中に .prc ファイルがあります。 MIDP.prc が Java の実行環境 (KVM) です。 通常の Palmware と同様にインストールしてください。

ついでに Demos.prc もインストールしておきましょう。 こちらは Java で書かれたデモ用プログラムです。



デモの実行

さて、デモを実行してみましょう。 ホームで 'Demos' のアイコンをタップしてみてください。

ちなみに左下の 'JavaHQ' というのが Java実行環境です。 文字コードの問題なのか、名前が化けてしまっていますね。 'Java' の後の TM という記号文字が表示できず、 後の 'H' を巻き添えにしている模様。 (^-^;


最初の起動では、Java実行環境のライセンスが表示されます。 読んだら、'Accept' ボタンをタップしましょう。 中には3つのデモが含まれていますが、とりあえず 'Colors' を選択してみます。

ちなみに、タップするのは矢印の部分です。

   

上下のスクロールボタンで青・緑・赤のカラーバーを選択し、 アドレス/TODO のアプリケーションボタンで値を増減できます。 下にある2つのボタンは「コマンドボタン」です。 数値の 10/16 進数の切り替え、増減の単位の切り替えができます。

ゲームで遊んでみよう

色を変えてるだけじゃつまらないですね。 'Games.prc' もインストールして、実行してみましょう。 2つ入っていますが、'WormGame' を実行してみましょう。

   

ワームを操作して、壁や自分の身体にぶつからないよう、エサを食べていくゲームです。 いやぁ、なんか懐かしいですねぇ。 何故か表示が化けていますが、右下の 'Change Level' のコマンドボタンで、レベルを選択可能です。

操作は 'Colors' と同じボタンを使います。 この4つが、上下左右の操作パッドの役割を果たしているんですね。 カーソル操作はゲーム以外にも応用できるので、 もう少し使いやすい配置の Palm機 があると面白いんですが。 (^-^;

設定を変えてみよう

Java実行環境には、いくつかオプションがあります。 メニューを開いてみましょう。 'Options' の中の 'Java Preferences' を選択します。

オプションには、Java実行環境すべてに影響する 'Global' と、 そのアプリケーションだけに有効な 'Application' があります。 今回は 'Application' を選んで、他のアプリケーションに影響しないようにします。

   

まずは 'Screen Buttons' を 'Off' にしてみましょう。 左下の 'OK' ボタンを押すと、「再起動しないと変更が反映されない」 と警告が出ます。 'Restart' ボタンを押してアプリケーションを再起動しましょう。

   

あ、下のコマンドボタンが消えましたね。 これで画面をちょっとだけ広く (18ドット) 使えます。 コマンドボタンが表示されていなくても、 'Actions' メニューから必要なコマンドを実行することができます。

   

今度は 'Game Controls' を試してみましょう。 デフォルトの 'GameButtons' から 'Joystick' に変更してみます。 すると右側に矢印とボタンが現れ、タップで操作することができます。 新CLIEのターンモードの時、役に立ちそうですね。 (^-^;

ちなみにこのモードでは、横が 28ドット ぐらい狭くなります。 Java における開発では、画面サイズが 160x160 に決め打ちできないので注意が必要ですね。

   

さて今度は 'Game Controls' を 'Full Keypad' に変更します。 すると今度は、Java実行環境が標準で想定している全てのアクションキーが使用できます。 携帯電話用のアプリケーションを Palm機で実行する際、 数値キーのためにこのモードが必要かもしれませんね。

ちなみにこのモードでは、横が 40ドット ぐらい狭くなります。 このモードで 'Screen Buttons' を 'On' にすると、 最も狭い 120x142 な表示画面になりますね。

   

その他、いろいろなデモがありますので、試してみてください。 倉庫番なんてのもありますよ! (画面が異様にシンプルですが)

今後ともよろしく♪

とりあえずは 『Palm で Java プログラミングを楽しもう!』 といったお気軽なスタンスで講座を進めていこうかと思います。

Palm 歴が短い上に、Palmware の開発経験もなく、Java も趣味で覚えた半端なもの。 どれぐらい役に立つかわかりませんが、自分の知識を整理するつもりで、 少しずつ進めていきたいと考えています。 いろいろ試行錯誤しつつ。

この講座を通して少しでも Palm 上の Java環境 の知名度があがり、 その完成度があがることを願っています。 そして Palm コミュニティに、Palm Hackers Salon に、 ほんの少しでも貢献できれば幸いです。

楽しみましょう! (^-^)/



Copyright (c) 2002 Toshio Yamashita
first version 2002/07/07