既に、ezアプリ作成のための開発環境は整っているでしょうか?
まだの方は、こちらから開発環境の構築とサンプルアプリのエミュレーターによる実行を確認してみてください。
サンプルアプリの解析
学ぶよりマネべ……ということで、サンプルアプリのソースコードをみながらJavaコードの組み方をみていきます。
インポートとコメント
/*
adseesaw.java シーソーゲーム
auth kaihatsu@ad2000-ltd.com
edit 2001/08/01
2001/09/11
*/
import java.util.*; //必要なライブラリのインポート
import com.kddi.io.*;
import com.kddi.system.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.lang.Object;
インポート
Javaでは再利用可能な関数などは、その都度インポートして利用することになっています。
逆に言うと、何かをしたいときには、どんな道具をインポートすればいいかを知らなくてはなりません。
これら道具のことをクラスと呼んでいます。
書式としては、
inport 〜;
でOKです。Javaではコードの最後にセミコロンをつけることになっています。
〜.〜
のように、ピリオドを使ってクラスは親子関係を持つことが出来ます。
あるクラスの子供に当たるクラスを、相対的表現をしてサブクラスと呼びます。
クラスは組織のようなものなので、家を建てたかったら
建築会社.建築部.大工
をインポートする必要がある……といったイメージで捕らえると分かりやすいのではないでしょうか。
〜.*
のように、*になっているのは全てのサブクラスをインポート対象にすることを表しています。
〜.Object
のように、明示的にサブクラスを指定することも当然出来るわけです。
コメント
Javaでは
/*と*/で挟むことで、複数行に渡るコメントを記述できます。
または、//の後に続けて改行までの間をコメントとして記述します。
起動クラスの開始
アプリケーションは、開始されて最後は終了されます。
その最初のプロセスである開始を司るクラスです。
public class Adseesaw extends MIDlet implements CommandListener { //起動クラスの開始
static GameCvs MyCanvas; //ゲーム用キャンバスの用意
static Display MyDisplay; //自分自身の表示キャンバス
static Thread runner; //自分自身のタスク
public Adseesaw() { //コンストラクタ
MyCanvas = new GameCvs(); //ゲームキャンバスの作成
MyDisplay = Display.getDisplay(this); //用意されたディスプレイオブジェクトを取得
MyDisplay.setCurrent(MyCanvas); //それをカレントに設定
MyCanvas.setCommandListener(this); //コマンドリスナーをセット
runner = new Thread(MyCanvas); //ゲームキャンバスをタスクにして…、
runner.start(); //実行開始
MyCanvas.startTimer(); //タイマータスクも起動
} // 特に何もない
protected void destroyApp(boolean unconditional){ //終了時に必要な処理
}
protected void pauseApp(){ //ポーズ時に必要な処理
}
protected void startApp(){ //起動エントリ
} //着信割込があった場合、復帰時にも呼ばれる
//復帰時の動作を、きちんと行うためには、
//配慮が必要である。
全体を見回して
public class Adseesaw extends MIDlet implements CommandListener
は、全体をみるとほぼ全てのクラスを{}で囲んでいます。
つまり、 Adseesawはプログラム全体、プログラムそのものを表していることになります。
publicは他のクラスから利用できるように公開されていることを指します。
privateは対して、限られたクラスからしか利用できないようになります。
こうして、利用を制限することで不慮のトラブルを事前に防ぎます。
public class
で、公開されたクラスを宣言(これから記述すると…)しています。
そしてその名前が次にあるAdseesawとなります。
extendsは