HelloIAppliのコンパイル

簡単なiαppliを携帯電話上で動かしてみましょう。お約束のHello World系のプログラムHelloIAppli.javaを携帯電話上で動かすのを当面の目標にします。

HelloIAppli.javaの内容はこうです。

import com.nttdocomo.ui.*;

public class HelloIAppli extends IApplication {
    HelloCanvas canvas;

    public HelloIAppli() {
        canvas = new HelloCanvas();
    }

    public void start() {
        Display.setCurrent(canvas);
    }
}

class HelloCanvas extends Canvas {
    public void paint(Graphics g) {
        g.drawString("Hello iAppli", 0, 12);
    }
}

Appletを作ったことのある方は、大体内容が解るでしょう。

早速コンパイルしてみましょう。コンパイル時にはCLDCのクラスライブラリを用いるので、それをクラスパスに含めます。CLDCをダウンロードしてない方は開発に必要なもののページを参照してダウンロードして下さい。

ここではCLDCをD:\j2me_cldc以下に展開したとして進めます。クラスファイルはD:\j2me_cldc\bin\api\classes以下に展開されるので

D:\iAppli>javac -bootclasspath d:/j2me_cldc/bin/api/classes HelloIAppli.java

-bootclasspathオプションで指定してコンパイルします。しかし、

HelloIAppli.java:1: パッケージ com.nttdocomo.ui は存在しません。
import com.nttdocomo.ui.*;
^
HelloIAppli.java:3: シンボルを解釈処理できません。
シンボル: クラス IApplication  
位置    : HelloIAppli の クラス
public class HelloIAppli extends IApplication {
                                 ^
HelloIAppli.java:15: シンボルを解釈処理できません。
シンボル: クラス Canvas  
位置    : HelloCanvas の クラス
class HelloCanvas extends Canvas {
                          ^
HelloIAppli.java:16: シンボルを解釈処理できません。
シンボル: クラス Graphics  
位置    : HelloCanvas の クラス
    public void paint(Graphics g) {
                      ^
HelloIAppli.java:11: シンボルを解釈処理できません。
シンボル: 変数 Display  
位置    : HelloIAppli の クラス
        Display.setCurrent(canvas);
        ^
エラー 5 個

とズラーッとエラーが出て悲しい気持ちになります。

問題なのは「iモードJava拡張APIクラスライブラリ」がないことです。まずはこれを何とかしましょう。


前の項目へ次の項目へ
「iαppliであそぼう!」のページへ
せぎてつ伝言板
このページの感想をどうぞ!
お名前(匿名OK):

メールアドレス:
Valid CSS! 最終更新日 : 2000年2月11日(日)
tetsu@segi.org