ホーム > デベロッパ > J2ME / MIDP プログラミング > 実機に載せよう

第4回:実機に載せよう(ダウンサイズ)

001: //package com.s_cradle.improve.client;
002: 
003: import java.io.DataInputStream;
004: import java.io.IOException;
005: //import com.s_cradle.improve.Constants;
006: import javax.microedition.lcdui.TextBox;
007: import javax.microedition.lcdui.TextField;
008: import javax.microedition.lcdui.Command;
009: 
010: /**
011:  * Copyright (C) 2003 Sophia Cradle, Inc.
012:  *
013:  * オペレーション create を使ったタスクを行うクラスです。
014:  *
015:  * @author Masaru Yoshimura
016:  */
017: public class D/*CreateTask*/ extends Z/*Task*/{
018:     private static final String[] いつでもいいよ/*NAMES*/ = new String[]{
                                               "account"/*Constants.PARAMETER_ACCOUNT*/};
019: 
020:     /**
021:      * コンストラクタ。タスクで使う値(アカウント)を引数にとる。
022:      */
023:     public D/*CreateTask*/() {
024:     }
025: 
026:     public void D/*initializeCreateTask*/(String[] value){
027:         StackMap/*initializeTask*//*super*/(
       0/*TASK_CREATE*/, いつでもいいよ/*NAMES*/, new String[]{D/*strs*/[0]/*account*/});
028:     }
029: 
030:     /**
031:      * 返値を読んだ後の処理
032:      */
033:     protected void Code/*processAfterReturnValue*/(int result,
034:             DataInputStream input) throws IOException{
035:         D/*strs*/[1]/*password*/ = input.readUTF();
036:         I/*ImproveMIDlet*/.Code/*setCurrent*/(
                                      I/*ImproveMIDlet*/.StackMap/*listCanvas*/);
037:         Z/*getTask*/(4/*Task.TASK_SET*/,new String[]{
038:                 String.valueOf(4/*Constants.ITEM_INDEX_STATUS*/),
039:                 String.valueOf(3/*Constants.STATUS_BLUE*/)})
040:            .StackMap/*schedule*/(0);
041:         Z/*getTask*/(6/*Task.TASK_POLLING*/,null).StackMap/*schedule*/(
                                                          0,5000/*Task.POLLING_PERIOD*/);
042:         I/*ImproveMIDlet*//*ResourceManager*/.Code/*
                                                  setAccountAndPasswordToRecordStore*/();
043:     }
044: 
045:     /**
046:      * 失敗時の処理
047:      */
048:     protected void Z/*processFailed*/(){
049:         TextBox textBox = new TextBox(
                 "エラー:再度アカウント","",10/*Constants.ACCOUNT_MAX*/,TextField.EMAILADDR);
050:         textBox.addCommand(I/*ImproveMIDlet*/.A/*okCommand*/);
051:         textBox.setCommandListener(I/*ImproveMIDlet*/.I/*midlet*/);
052:         I/*ImproveMIDlet*/.Code/*setCurrent*/(textBox);
053:     }
054: 
055:     //downsize クラス融合 以下ChangeStatusMenu
056: 
057:     //downsize 定数展開
058:     /*
059:     private static final String TITLE = "ステータス をかえる";
060:     */
061:     private static final String[] ちょっとだけ/*ITEMS*/ = {
                             "いつでもいいよ","ちょっとだけ","ダメ","キャンセル"};
062: 
063: 
064:     private static final int[] ダメ/*STATUS*/ = new int[]{
065:         3/*Constants.STATUS_BLUE*/, 2/*
                                   Constants.STATUS_YELLOW*/,1/*Constants.STATUS_RED*/};
066: 
067:     //public ChangeStatusMenu() {
068:    public void D/*initializeChangeStatusMenu*/(){
069:         Z/*initializeMenu*//*super*/(
070:                 "ステータスをかえる"/*TITLE*/,
071:                 ちょっとだけ/*ITEMS*/
072:         );
073:     }
074: 
075:     /**
076:      * キーハンドラ
077:      */
078:     protected Z/*Task*//*Menu*/ StackMap/*processFireKeyRelease*/() {
079:         if( Z/*idata*/[0]/*cursor*/ != 3){
080:             //downsize 即値の利用
081:             Z/*getTask*/(4/*Task.TASK_SET*/,new String[]{
082:                         String.valueOf(4/*Constants.ITEM_INDEX_STATUS*/),
083:                         String.valueOf(ダメ/*STATUS*/[Z/*idata*/[0]/*cursor*/])
084:             }).StackMap/*schedule*/(0);
085:         }
086:         return null;
087:     }
088: }