GCCで挑戦! Palmプログラミング

更新日 2001/1/8

[HOME] / [Java] / [Perl5] / [Oracle8][Palm(CodeWarrior)] / [EJB] / [本の紹介]


 1. はじめに
 最近になって IBM から完全な日本語版が供給されるに至り、日本のビジネスシーンに定着し始めたpalmシリーズですが、人気の理由として、手帳の命とも言えるレスポンスの良さと豊富なソフトウェア資源があげられます。豊富なソフトウェアはPalmシリーズのコンセプトに共感する人々が、メーカやボランティアから供給されたオープンな開発環境を利用して自由に自己表現をした積み重ねであり、その深さに感銘を受けるのは私だけではないと感じます。
 本ページは、palmシリーズを使うことの喜びもさることながら、その中で自分が開発したソフトが動くという新しい世界を楽しむためのほんのささいな手助けができればと、始めたものです。作成にあたり、さまざまなページを参考(ぱくり)にさせていただいていますが、何か問題がありましたら、メールにて指摘いただけたら幸いです。
 2. 準備(インストール)
 3. チュートリアル
 4. プログラムの構成 (準備中)
 5. イベントハンドラとは? (準備中)
 6. フォームで画面レイアウト (準備中)
 7. データベースを扱う (準備中)
 8. emacsを使おう (準備中)
 9. KVMでJavaプログラミング
10. 参考文献
  2. 準備(インストール)   ↑top
 開発環境としては、以下に示す2つが有名のようです。このページ作成当初は、フリーであることを理由にGCCを選択していましたが、最近CodeWarriorの評価版が公開されているようなので、切り出して「CodeWarriorで簡単? Palmプログラミング」を作りましたので、ご参照ください。  インストールは簡単で、Cygwin.exe Ver B20.1 と PalmOSGNUTools(1.10).exe をそれぞれダブルクリックして、それで終わりです。インストール先も特に変更する必要はないでしょう。
 
  3. チュートリアル  ↑top
 HandSpring社のHPで用意された演習用の課題を使って、用意するファイルの種類やそれぞれの内容、それらを使ってのコンパイルを実施しながら、概要をつかんで行こうと思います。以前のチュートリアルについての記述は、ここにあります。

 まずは、HandSpring社 のHPから Tex2Hex(1.00).zip をダウンロードします。 ドキュメントが英語なので、チュートリアル(日本語訳)(相田さんという方のホームページのDownloadのところにあります)を用意することをお勧めします。

Tex2Hex(1.00).zip を解凍して、適当なところに置きます。ここでは、C:\ の直下に置いたときの例で説明します。

  1. スタートメニュー  -> プログラム -> Handspring -> Tools -> Palm-Bash shell で、シェルウィンドウを起動します。

  2. bin$ pwd
    /usr/local/PalmTools/bin
     
  3. Tex2Hex の make を実行してみます

  4. bin$ cd /T*
    /Tex2Hex\(1_00\)$ ls
    Build/  Obj/  Rsc/  Src/
    /Tex2Hex\(1_00\)$ cd Build
    Build$ make
    ・・・・
    cp ../Obj/Tex2HexApp.prc /usr/local/PalmTools/bin/Device
     
  5. 出来上がった実行型ファイルをPalmデバイスにインストール

  6. C:\Handspring\PalmTools\bin\Device\Tex2HexApp.prc をダブルクリックしてPalm desktop のインストーラに入れ、HotSyncしてPalmデバイス上で動作を確認します
  4. プログラムの構成  ↑top
 それでは、上記のTutorial のファイル構成を1つ1つ見て行きましょう。
  1. ソースファイル <Tex2Hex.c>

  2.  

     
     
     

  3. ヘッダファイル <Tex2Hex.h>

  4.  

     
     
     

  5. リソースファイル <Tex2Hex.rcp>

  6.  

     
     
     

  7. メイクファイル <Makefile>

  8.  

     
     
     

  9. ビットマップファイル <*.bmp>
  5. イベントハンドラとは?  ↑top
 準備中です。
 
  6. フォームで画面をレイアウト  ↑top
 準備中です。
 
  7. データベースを扱う  ↑top
 準備中です。
 
  8. emacsを使おう  ↑top
 準備中です。
 
  9. KVMでJavaプログラミング  ↑top
 既に正式版が出ていますのでそちらを参照してください。以下は以前のものです。

先日開催されたのJavaOneで、組み込みデバイス用Java仮想マシン「KVM(K Virtual Machine)」発表され、PalmVに搭載して話題を呼んでいたようです。このKVMについては、Java World 9月号に簡単なプログラミング例とともに紹介されていましたので、少し試してみましょう。ちなみに、最初の「K」はキロバイト程度で実現していることを表しているとのことで、実際120KB足らずです。

 まず、KVMを入手します。KVMの本体(KJavaVM.prcとクラスライブラリ(KJavaVM.pdb)が、ここにあります。

 そんでもって、開発環境(KJava.zip)が、ここにあります。

 これらは、正式に公開されているものではないようなので、ダウンロードできなかったら潔くあきらめましょうといったことが、Java Worldに書かれています。7月27日時点では大丈夫のようです。

 いつものように、HotSyncで KJavaVM.prc KJavaVM.pdb をインストールします。ただしこれだけだと動くアプリケーションがありませんので、開発環境も解凍してその中の palm\Doragon.prc を一緒にインストールしましょう。実行時のクラスローディングには3秒とかかりません。

 記事には、JDKを使ってのコンパイル方法や *.classファイルの *.prcファイルへの変換方法などが書かれており、例題として、ビットマップやボタンの操作、スレッド、ソケットとデータベースを使ったものなどがサンプルプログラムと共に紹介されています。

 この中で HelloWorld の例について、開発環境の確認も含めて実施してみます。このとき、JDKの環境が必要なのですが、こちらの準備の項を参照してください

 まず、以下のソースファイルを用意します.

【HelloWorld.java】
import com.sun.kjava.*;
import java.io.*;

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!!", 60, 70, g.PLAIN);
  }
}

 コンパイルとprcファイル作成のためのコマンドを以下のバッチファイルにまとめています。
 ここでは、JDK1.2を C:\jdk1.2 に、KJava.zipは C:\KJava配下で解凍していると想定しています。

【makeprc.bat】
\jdk1.2\bin\javac -bootclasspath \kjava\sddk\classes %1.java
\jdk1.2\bin\java -classpath \KJava\tools\PalmDatabase.zip PalmDatabase.MakePalmApp -icon \KJava\icons\default.bmp -v -classpath .;\KJava\sddk\classes -o %1.prc -name "Test" -longname "Test for Palm" %1

 MDS-DOSプロンプトにて、以下のように打てば HelloWorld.prc ファイルが作成されます。
C:\KJava> makeprc HelloWorld

 試しに、Hello Worldのところに、日本語を書いて見ましたが、字化けしてだめでした。
 
10. 参考文献  ↑top
 Palmに限らず役に立つと思われる書籍を紹介していきたいと思います。本文からも参照できるようにしていきますが、一覧はこちらでまとめています。(Palm関係はまだ用意してません)


[HOME] / [Java] / [Perl5] / [Oracle8][Palm(CodeWarrior)] / [EJB] / [本の紹介]

このページにご意見のある方は、egami@ee.e-mansion.com までお願い致します。