Javaプログラミング/サーバサイド&ケータイJava

新iアプリ仕様「Star」に対応するには?(2ページ目)

docomoの新しいiアプリ仕様「Star」は、DoJaとはどこが違うのでしょうか。ソースコード上の互換性をチェックしましょう。

執筆者:掌田 津耶乃

DoJaからStarに書き換える


では、DoJaとStarでは、ソースコードはどのように違っているのでしょうか。実際に簡単なiアプリを使って違いを見てみましょう。例として、「SampleIApp」というプロジェクトを作成し、SampelIApp.javaにSampelIAppクラスを書いて、簡単なiアプリを動かしてみます。

import com.nttdocomo.ui.*;

public class SampleIApp extends IApplication {

  public void start() {
    Display.setCurrent((Frame)new MainPanel());
  }
}

class MainPanel extends Panel
    implements SoftKeyListener {
  Label label;
  TextBox text;

  MainPanel() {
    this.setSoftKeyListener(this);
    this.setSoftLabel(Frame.SOFT_KEY_1, "Click");
    this.setSoftLabel(Frame.SOFT_KEY_2, "Exit");
    this.setTitle("Start IApplication");
    HTMLLayout html = new HTMLLayout();
    this.setLayoutManager(html);
    html.begin(HTMLLayout.CENTER);
    label = new Label("こんにちは。");
    this.add(label);
    html.br();
    text = new TextBox("入力フィールド",20,2,TextBox.DISPLAY_ANY);
    this.add(text);
    html.end();
  }

  public void softKeyPressed(int key){
    switch (key) {
      case Frame.SOFT_KEY_1:
      label.setText(text.getText());
      break;
      case Frame.SOFT_KEY_2:
      IApplication.getCurrentApp().terminate();
      break;
    }
  }

  public void softKeyReleased(int key) {}
}


これは、今までのDoJaによるiアプリですね。Panelを使い、ごく簡単な入力と、ソフトキーによる表示の変更などを用意してあります。まぁ、ごくごく単純なPanel利用のサンプルといっていいでしょう。

では、これをStar用に書き直してみましょう。わかりやすいように、プロジェクト名(ソースコードファイル名、クラス名など)はすべて同じものにしてあります。Star用開発ツールでは、プロジェクトやソースコードを作成する際、フルアプリかミニアプリかを指定する必要がありますので、この点だけ注意しましょう。今回は、DoJaと同じものを作る関係上、フルアプリとして作成をします。

Star向け開発ツールでプロジェクトを作る。ここではフルアプリを選択する。


import com.docomostar.*;
import com.docomostar.ui.*;

public class SampleIApp extends StarApplication {

  public void started(int launchType) {
    Display.setCurrent((Frame)new MainPanel());
  }
}

class MainPanel extends Panel
    implements SoftKeyListener {
  Label label;
  TextBox text;

  MainPanel() {
    this.setSoftKeyListener(this);
    this.setSoftLabel(Frame.SOFT_KEY_1, "Click");
    this.setSoftLabel(Frame.SOFT_KEY_2, "Exit");
    this.setTitle("Start IApplication");
    HTMLLayout html = new HTMLLayout();
    this.setLayoutManager(html);
    html.begin(HTMLLayout.CENTER);
    label = new Label("こんにちは。");
    this.add(label);
    html.br();
    text = new TextBox("入力フィールド",20,2,TextBox.DISPLAY_ANY);
    this.add(text);
    html.end();
  }

  public void softKeyPressed(int key){
  switch (key) {
    case Frame.SOFT_KEY_1:
    label.setText(text.getText());
    break;
    case Frame.SOFT_KEY_2:
    StarApplication.getThisStarApplication().terminate();
    break;
  }
  }

  public void softKeyReleased(int key) {}
}


いかがですか? なんだか、ほとんど同じものであることがわかるでしょう?
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます