第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: }