モバイルJava最新動向
[検証]
MIDP for Palm OS Early Access版
Palm OS向けにMIDPに追加された機能 |
MIDP for Palm OSでは、実はPalm OS用の独自拡張APIは用意されていません。MIDP 1.0仕様のみで開発されたMIDletであれば、ほとんど問題なく実行できます。しかし、Palm OS機ならではの部分も少なからずあります。それらについて、以下の順で細かく見ていくことにしましょう。
MIDP for Palm OSの起動画面 |
- ハードウェア(見た目)
- 開発時
- インストール時
- 実行時
- アンインストール時
1. ハードウェア(見た目) |
Palm OS機のハードウェアは携帯電話と比べると以下のような違いがあります。
- ハードボタンの数
- タッチスクリーン
- シルクスクリーン
(1)ハードボタンの数
標準的なPalm OS機は携帯電話機と違い数字ボタンがありません。そこで、MIDP for Palm OSでは、その違いを埋めるためにスクリーンキーボードが提供されています。[Options]メニューから[Preferences]ウィンドウを開いて設定すれば、画面の左、または右にスクリーンキーボードを表示して使用することができます。
(1)[Options]メニューから[Preferences]を選ぶ | (2)[Full Keypad]を選択する |
(3)スクリーンキーボードが表示される |
数字ボタン以外の標準的なPalm OS機のハードボタンは、Palm OSに標準搭載のメモ帳などを使用しているときと同様に、表示を上下にスクロールさせたり、各ハードボタンに割り当てられたPalmwareを起動できます。
ハードキーは左から「スケジュール」「アドレス」「上下スクロール」「ToDo」「メモ」の順になっている |
ゲームなどで使用する低レベル描画を行うjavax.microedition.lcdui.Canvasクラスを継承したクラスが画面に表示されている場合は、上下左右を中央の「スクロール」ボタンと「ToDo」ボタン、「アドレス」ボタンに割り当て、Fire(決定)ボタンを「スケジュール」ボタンと「メモ」ボタンの2ボタンに割り当てています。これにより、ゲームなどを操作することができるようになっています。
(2)タッチスクリーン
携帯電話などタッチスクリーンに未対応の機器用に開発されたMIDletであっても、上記のようにスクリーンキーボードが提供されているため基本的にMIDP for Palm OSでも使用できます。しかし、Palmwareになれた人はタップ(マウスのクリックのようなもの)による操作を期待するかもしれません。MIDlet開発時のターゲット端末の設定にもよりますが、MIDP for Palm OSがメインターゲットなのであればタッチスクリーン対応についても考慮する必要があるでしょう。
(3)シルクスクリーン
Palm OS機ではシルクスクリーンを使用して入力をします。かな漢字の変換、メニューボタンなどを使用する場合もあります。メニューなどの動作に関しては後述します。
Palm OS機のシルクスクリーン |
2.開発時 |
独自拡張APIを使用せず、MIDP仕様のみで開発した場合、以下の点に注意すれば他機種との互換性の高いMIDletが開発できると考えられます。
(1)通信機能
標準的なPalm OS機は赤外線通信以外の通信機能を持っていません。そのため、ネットに接続させるアプリケーションの開発を行う場合はターゲットとするPalm OS機にモデムなどの通信装置がない可能性があることを考えておく必要があります。
(2)日本語描画
KJavaと同様に、日本語描画に関して問題点があります。ただし、「javax.microedition.lcdui.TextBoxなどのテキスト入力コンポーネントに入力した全角文字を取得してほかのGUIコンポーネントに設定する」といった、Palm内で完結する日本語表示に関しては問題なく使用できます。
(3)アプリケーションサイズ
MIDP for Palm OSに付属のドキュメントには明確な記載はありませんが、端末の空き容量に応じてかなり大きなMIDletをインストールできる可能性があります。機種間の容量差に注意する必要があるでしょう。
(4)画面の白黒/カラーや解像度
画面の白黒/カラーや、解像度の違いを気にする必要があります。しかし、大きなMIDletを使用できる可能性が高いので、アプリケーション側で対応することは容易と思われます。
(標準的なPalm OS機の画面解像度は数機種を除いて横160×縦160ピクセルで固定されています。ちなみに著者のWorkPad上でMIDP
for Palm OSが使用できる解像度は横160×縦142ピクセルです。縦が横に比べて少し少ないのは携帯電話のソフトボタンにあたるボタンが画面下部に表示されるためです)
(5)JAD/JARファイル
GUIツールでJAD/JARファイルをPRCファイルにコンバートできる |
MIDletを実行させるために必要なJAD、JARファイルはPalm OSで使用できるようにツールを使用してPRCファイルにコンバートする必要があります。
PRCファイルへコンバートするには「JADファイルとJARファイルをコンバートする方法」と「JARファイルだけをコンバートする方法」の2通りがあります。JADファイルとJARファイルをコンバートする方法は主にJADファイルに複数のMIDletが指定されている場合に使用します。今回のリリースではGUIツールが提供されており、JADファイルを指定すれば自動的にコンバートしてくれます。
JARファイルだけをコンバートする方法の場合にはコンソールからコマンドでビームの使用/非使用やアイコンを指定できます(執筆の時点で提供されているドキュメントにはMIDletからビームを使用するための詳細な記載がないため赤外線通信は検証していません)。
3.インストール時 |
MIDP for Palm OSをPalm OS機へインストールする場合は通常のPalmwareと同様にPC上のPalmDeskTopなどを使用し、HotSyncさせてインストールします。
MIDletも同様にPC上のPalmDeskTopなどを使用して上記のとおり“PRCファイルにコンバートしたMIDlet”をHotSyncでインストールします。インストールが完了するとホームにアイコンが追加されます。
HotSyncによってインストールされたアプリケーションはアイコン表示される |
4.実行時 |
Palm OS機にインストールしたMIDletを実行するために特別なことをする必要はありません。通常のPalmwareの起動と同様にホームからアイコンをタップして起動します。
アプリケーションを起動するには、アイコンをクリックするだけでよい |
5.アンインストール時 |
アンインストールに関しても通常のPalmwareと同様にホームからアプリケーションメニューの削除メニューを選び、削除したいMIDletを選択すれば削除できます。
メニューからアプリケーションを削除できる |
MIDP for Palm OSを総評する |
MIDPは、さまざまな機器で動作させることを目標としているため、仕様の策定には最大公約数をとらなければならない宿命を背負っています。そのため、MIDP 1.0仕様に準拠したMIDP for Palm OSも、その仕様に物足りない部分がある点は否めません。しかし、Palm OS機に特化した部分を考慮して開発すれば、携帯電話で走るMIDletをそのまま実行できるというメリットがある点は評価できるでしょう。
また、今後KJavaがMIDP for Palm OSに置き換わることも考えられ、MIDPが走る機器が増え、アプリケーションも増えるほど、MIDP準拠のMIDP for Palm OSの利点がさらに生かせるようになってくると思います。
なお、2002年に発売予定のPalm OS 5.0で採用されるARMテクノロジーのプロセッサは、プロセッサレベルでJavaをサポートするようです。Javaの実行環境のインストールの手間が省け、実行速度の向上も期待できます。そのJava実行環境で実行できるJava仕様はMIDP for Palm OSになる可能性が非常に高く、非常に楽しみです。
今回使用したEarly Access版の実行にはPalm OS 3.5以上が必要で、MIDP実行環境だけで540Kbytesもあります。このPalm OS 3.5以上というのは日本においては曲者で、日本で発売された日本IBMの日本語版WorkPadの初代と2代目はPalm OS 3.1なので、そのままでは使用できません。日本IBMに問い合わせをしましたが、「Palm OS 3.1機に関してOSアップグレード製品の提供予定がない」という返答のため、国内でMIDP for Palm OSを使用できないユーザーは(著者を含み)多いのではないかと思います。
MIDPの物足りなさやOSのバージョンの問題、実行環境のファイルサイズが約540Kbytesもあるなどの不満点はありますが、GUIの文字入力エリアなどはC/C++で開発されたPalmwareで使用しているものと同じで、Palmユーザーにはうれしいつくりになっています。また、日本語入力問題がなくなったPalm OS用Java環境がようやく登場したことにより、従来以上に色々なアプリケーションが作られていく可能性があるでしょう。正式版の登場が楽しみです。
資料:携帯電話とGUI部品を比較する |
|
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|