S!アプリ開発やってみる

アプリ作成は、以下のサイトを参考にさせていただきました。
ありがとうございました。
http://blog.so-net.ne.jp/ettem/archive/c40376439

MIDP2.0用の日本語リファレンス ありました

CLDC1.1,MIDP2.0用の日本語リファレンス(Javadoc)がありました。
非常に助かります(T_T)
非公式の翻訳だそうなので、とにかくお礼を言いたいと思います。
http://godwood.allnet.ne.jp/vioret/
ありがとうございましたっ(>_<)


さて、さっそく勉強しなきゃ。

とにかくHello World

プロジェクトの基本的な起動は前回までにやったので
じゃあ、実際に自分でコーディングしてHello Worldをやってみようかと。


  1. classを新規作成する。

    スーパークラス MIDlet
    インターフェース CommandListener

    で作成する。

    MIDletクラスは、アプリケーションの土台になるクラスです。



  2. メンバ、コンストラクタで配置する要素を指定。

      private Command exitCommand;  // 終了コマンド
      private Command okCommand;    // OKコマンド
      private TextBox helloText;    // テキストボックス
    
      public TestMIDlet() {
        // コマンドオブジェクトのインスタンス
        exitCommand = new Command("Exit", Command.EXIT, 1);
        okCommand = new Command("Hello?", Command.OK, 1);
    
        // テキストボックスの生成
        String helloString = "hello world !!";
        helloText = new TextBox("hello", helloString, helloString.length(), 0);
    
        // コマンドを設定
        helloText.addCommand(exitCommand);
        helloText.addCommand(okCommand);
        helloText.setCommandListener(this);
      }
    

    このアプリは、アプリの土台にTextBoxというScreenがのっかっていて、そのScreenにコマンドが設定されている、という構造ですな。



  3. アプリ開始時にMIDletに表示させるScreenを設定する。

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



  4. コマンドが押されたときの動作を設定する。

      public void commandAction(Command cmd, Displayable dsp) {
        if (cmd == exitCommand) {
          try {
            // アプリを終了する
            destroyApp(false);
            notifyDestroyed();
          } catch (Exception e) {
            e.printStackTrace();
          }
        } else if (cmd == okCommand) {
          // コンソールにHello Worldをだす。
          System.out.println("Hello World !!");
        }
      }


さて、実行してみると。

  • 画面にHelloWorldが!
  • "Hello?"を選ぶと、コンソールにHello Worldが!
  • "Exit"を選ぶと、アプリが終了!

なるほどー。
なんか分かってきた。さて、Canvasなんかを使ってみようか。