開発環境の構築 〜 スケジュール管理ソフトをS!アプリで作ってみよう(その2)

ひとまず開発環境を構築して、その後に"Hello, World!"を表示して、Exitボタンをクリックすれば終了するプログラムを書いてみる。(2008/11/18 追記 : 情報を更新した記事を書きました。)

開発環境の構築

Eclipseのインストール

EclipseのVer3.2.1をダウンロードしてくる。S!アプリの開発ツールのプラグインがVer3.2.1から対応となっていたので、それをダウンロードした。

日本語化のためのLanguage Packのプラグイン
ダウンロードした

Eclipseを使用するには、単純に適当なフォルダ(パスに空白は含めないようにしておいた方が無難な事が多い)にzipファイルを解凍し、eclipseのフォルダの中のeclipse.exeを実行するだけでよい。

日本語化やS!アプリ開発のためのプラグインなどは、zipファイルを解凍して、解凍したものをeclipse\plugingsに移動させ、Eclipseを再起動するだけでよい。

エミュレータのインストール

Softbankの開発者サポートのサイトからダウンロードしたエミュレータをインストールする。ダウンロードしたzipファイルを解凍し、解凍されたフォルダ内のexeファイルを実行するだけでよい。インストール先をデフォルトから変更可能であるが、変更すると後々大変なので、デフォルトのままインストールした方がよい。

このエミュレータだが、VGA画面には対応していないので(残念)、ほとんど使う事はなさそう。ちょっとした実験コードの動作に使うぐらいになりそう。

「Hello, World!」アプリを作る

プロジェクトの作成

まず、Eclipse上で、アプリ開発のためのプロジェクトを以下の方法で、作成
する。

  1. メニューで[ファイル]-[新規]-[プロジェクト]を選択する。
  2. [新規プロジェクト]画面で[その他]-[S!アプリ プロジェクト]を選択し、
    [次へ]ボタンをクリックする。
  3. [新規 S!アプリ 作成ウィザード]の[S!アプリプロジェクトを作成します]
    画面でプロジェクト名]を入力し、[次へ]ボタンをクリックする。

    プロジェクト名は今回は、「HelloWorld」としておく。[デフォルトロケーショ
    ンの使用]のチェックボックスはチェックしたままにしておく。
  4. [アプリケーション情報]画面で以下の情報を設定する。

    • エミュレータ
    • アプリケーション名
    • ベンダー名
    • MIDletクラス名
    • スタブクラス
    • ソースパス
    • リソースパス
    • コンパイル済みクラスパス
    • プリヴェリファイ済みクラスパス
    • Jad/Jar出力パス
    今回は、上記でデフォルト値が設定されているものはそのままにしておく。そ
    れ故、[ベンダー名]、[MIDletクラス名]のみ以下のように設定する。
    • ベンダー名: com.example
    • MIDletクラス名: HelloWorldMIDlet
  5. [MIDlet設定]画面で以下の情報を設定する。

    • MIDlet-Name
    • MIDlet-Version
    • MIDlet-Vendar
    • MIDlet-Jar-URL
    • MIDlet-1
    • MicroEdition-Profile
    • MicroEdition-Configuration
      • 後で変更したくなるのだが、取りあえずデフォルトのままにしておき、[次へ]ボタンをクリックする。
      • [Java設定]画面で必要な設定を行う。普通はデフォルトのままでOKのはず。しかし、エミュレータをデフォルトのインストール先以外にインストールした場合は、[ライブラリー]タブのJARおよびクラスフォルダーのフォルダーを変更しておく。設定が終了したら[終了]ボタンをクリックする。
      • [Javaクラス]画面が表示されるので、設定を行う。デフォルトパッケージの使用は推奨されませんと表示されているが今回は無視して[終了]ボタンをクリックする。

以上で、プロジェクトが出来上がる。

プログラムの作成

Eclipseのパッケージ・エクスプローラにHelloWorldのプロジェクトが表示される。そのプロジェクト内のsrcフォルダのデフォルトパッケージにHelloWorldMIDlet.javaファイルが作成されている。そのクラスをダブルクリックをして、エディタで開いて以下のように編集する。

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class HelloWorldMIDlet extends MIDlet implements CommandListener {
    private Command exitCommand;
    private TextBox textBox;

    public HelloWorldMIDlet() {
        exitCommand = new Command("Exit", Command.EXIT, 1);
        String str = "Hello, World!";
        textBox = new TextBox(str, str, str.length(), 0);
        textBox.addCommand(exitCommand);
        textBox.setCommandListener(this);
    }
    
    protected void destroyApp(boolean arg0) {

    }

    protected void pauseApp() {

    }

    protected void startApp() throws MIDletStateChangeException {
        Display.getDisplay(this).setCurrent(textBox);
    }

    public void commandAction(Command c, Displayable d) {
       if (c == exitCommand) { 
            destroyApp(false); 
            notifyDestroyed();
       }
    }
}

これで、コーディングは終了だ。

実行のためのファイルのビルド

次に、JARファイルとJADファイルを作成する。普通のJavaの開発環境だけだと結構面倒な作業なのだが、EcpliseのS!アプリ開発のためのプラグインをインストールしているので簡単である。プロジェクト内のbuild.xmlを右クリックし、ポップアップ・メニューから[実行]-[1. Antビルド]と選択してビルドするだけである。
ビルド後にbinフォルダの中に、HelloWorld.jad、HelloWorld.jarの2つのファイルが作成される。(注意:Eclipseのデフォルトの設定では、binを右クリックし、[更新]を選択しないとファイルが表示されない)

エミュレータでの実行

エミュレータを使って実行を行う。以下の手順で実行する。

  1. ビルドされたHelloWorld.jadファイルを右クリックして、[実行]-[構成および実行]を選択する。
  2. [構成および実行]ダイアログの左側のツリーで[S!アプリ]を選択する。
  3. ツリー上部の[新規]ボタンをクリックする。
  4. 右側の[名前]に「HelloWorld」とする
  5. [接続]タブを選択する。(デフォルトでは選択されている)

  6. [プロジェクト](HelloWorld)を選択する。

  7. [エミュレータ]には「S! Appli Emulator for JSCL1.3.2 Ver. 1.0.1」を選択する。

  8. [実行]ボタンをクリックする。

終了するには、エミュレータ内の[Exit]キーをクリックする。