Mobile:NEWS 2002年9月13日 10:13 PM 更新

ビジネスiアプリ入門(5)
待ち受けビジネスIMのクライアント(iアプリ)の作成(2/4)


前のページ

サーバとの通信のダミー実装

 ビジネスIMにおいて、必要な通信パターンを挙げてみます。

パターン送信するもの受信するもの
初回登録自分の名前登録可否判定
メンバーの状態更新なしメンバーの名前と状態
状態変更自分の名前と状態なし
メッセージ送信自分の名前、相手の名前、メッセージなし
サーバとの通信パターン

 上記のような通信をするNetworkクラスを実装します。ただし今回はクライアントの動作を確認することが目的なので、サーバとの通信部分は実際サーバとの通信をしないダミー実装としておきます。

// ---------------------------------------------
// サーバとの通信(ダミー実装)
// ---------------------------------------------

class Network {
 boolean sendInit(String myname) { // IDを受け取る
  System.out.println("sendInit(\"" + myname + "\")");
  return true;
 }
 Message[] update(Data data) { // 定期的に
  System.out.println("changeData(data)");
  if (data.member.size() == 0) {
// データがないのでテストデータを作成する
   for (int i = 0; i < 4; i++) {
    Member member = new Member("テスト" + i, "仕事中");
    data.member.addElement(member);
   }
  }
  Message[] message = new Message[2];
  for (int i = 0; i < message.length; i++) {
   message[i] = new Message("テスト" + i, "メッセージ" + i);
  }
  return message;
 }
 void sendState(String myname, String state) {
  System.out.println("sendMessage
(\"" + myname + "\", \"" + state + "\")");
 }
 void sendMessage(String myname, String toname, String mes) {
  System.out.println("sendMessage
(\"" + myname + "\", \"" + toname + "\", \"" + mes + "\")");
 }
}
Network network = new Network();

各画面のコーディング

 ではデータ構造とサーバとの通信が整ったので、各画面の作成に取りかかります。基本的な設計として、各画面をPanelとして実装し、主にソフトキーによって遷移することとします。

初回登録画面

 初回登録画面(InitPanel)では、データをスクラッチパッドから読み込み、データがなければパネルを表示し、名前を入力してもらうようにします。データがあれば、すぐ状態表示画面(StateViewPanel)に遷移させます。

class InitPanel extends Panel implements SoftKeyListener {
 TextBox name;
 InitPanel() {
  data = readData();
  if (data != null) {
   new StateViewPanel();
   return;
  }

  setTitle("初回登録");
  
  add(new Label("名前"));
  name = new TextBox("", 20, 1, TextBox.DISPLAY_ANY);
  add(name);
  
  setSoftLabel(Frame.SOFT_KEY_1, "OK");
  setSoftKeyListener(this);
  Display.setCurrent(this);
 }
 public void softKeyPressed(int key) {
  if (key == Frame.SOFT_KEY_1) {
   String myname = name.getText();
   network.sendInit(myname);
   data = new Data();
   data.myname = myname;
   writeData(data);
   new StateViewPanel();
  }
 }
 public void softKeyReleased(int key) {
 }
}


初回登録画面

 setSoftKeyListenerでセットしたソフトキーが押されたとき、初回登録した後、次の状態表示画面(StateViewPanel)に遷移するようにします。

[福野泰介, ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.

前のページ | 2/4 | 次のページ



モバイルショップ

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!