ビジネスiアプリ入門(5)
|
パターン | 送信するもの | 受信するもの |
初回登録 | 自分の名前 | 登録可否判定 |
メンバーの状態更新 | なし | メンバーの名前と状態 |
状態変更 | 自分の名前と状態 | なし |
メッセージ送信 | 自分の名前、相手の名前、メッセージ | なし |
上記のような通信をする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.
最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!
最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!