Читайте также:
|
|
Этот раздел посвящен созданию приложения для CDC (Xlet) для профиля Foundation Profile с использованием эмулятора Embedded Software Architecture Emulator 1.14c компании Ricoh.
Выберите "File > New Project" (Ctrl+Shift+N). В области "Categories" выберите "Mobility". В "Projects" выберите шаблон "CDC Application". Нажмите кнопку "Next".
На экране "Name and Location" присвойте проекту имя MyRicohApplication и укажите местоположение проекта. Не снимайте флажок "Create Main Class". Нажмите кнопку "Next".
На странице "Select Platform" выберите "Ricoh 1.14c".
Нажмите кнопку "Finish". В результате создается новое приложение, главный класс которого открывается в редакторе исходного кода. Структура проекта показана на следующем рисунке. Обратите внимание, что автоматически созданный код основан на профиле. В данном случае главный класс получен на основе jp.co.ricoh.dsdk.xlet.Xlet. В этом профиле отсутствует поддержка редактора GUI Designer среды NetBeans.
Для запуска проекта выберите "Run > Run Main Project". Эмулятор выводит на экран текст "TODO implement makeUIControls".
Теперь можно выполнить отладку проекта, а также создать и выполнить тесты с помощью инфраструктуры JUnit.
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class MobileTest extends MIDlet
implements CommandListener, ItemCommandListener{
private Display display;
private Form LogoForm,QForm;
public MobileTest() {}
//Список вопросов теста
private String quest[]={"Из всех домашних растений Вы предпочитаете кактусы.",
"Вы уже год не мыли полы, потому что можете случайно задеть компьютерные провода.",
"Отключение в районе электричества равносильно для Вас стихийному бедствию.",
"Вы можете не помнить, как выглядят Ваши друзья, но всегда знаете их ники.",
"Почтальоны пугаются, когда видят знак @ на отправляемых вами письмах.",
"Вы предпочитаете использовать принтер, а не ручку.",
"Вы очень удивляетесь, когда в видите надпись ЭТО МЫШЬ рядом с хвостаты зверем."};
private StringItem str; //Сторка
private ChoiceGroup myCG; //Варианты ответов
private TextField TFName,TFAge; //Имя и возраст
private int cqnum=0; //Номер текущего вороса
private int maxq=quest.length; //Число вопросов
private int summ=0; //Число набранных балов
//Создаем комманды
private Command CMD_GO = new Command("Вперед", Command.ITEM, 1);
private Command CMD_PRESS = new Command("Нажать", Command.ITEM, 1);
private Command CMD_FIRST = new Command("Начать", Command.SCREEN, 1);
private Command CMD_START = new Command("OK", Command.SCREEN, 1);
private Command CMD_NEXT = new Command("OK", Command.SCREEN, 1);
private Command CMD_FINISH = new Command("Закончить", Command.SCREEN, 1);
private Command CMD_EXIT = new Command("Выход", Command.EXIT, 1);
protected void destroyApp(boolean unconditional) throws MIDletStateChangeException
{ exitApp(); } // вызывает уборщик мусора
protected void pauseApp() { }
protected void startApp() throws MIDletStateChangeException
{ if(display == null)
{ initApp(); } }
private void initApp() //Этот метод выполняется при запуске мидлета
{ display = Display.getDisplay(this);
LogoForm=new Form("Mobile Test - Мир ПК"); //Создаем первую форму
LogoForm.setCommandListener(this);
//Добавляем рисунок. Обратите внимание, рисунок загружается в скобках try{}catch{}
try{ Image img=Image.createImage("/Logo.png");
ImageItem FormImg=new
ImageItem("МирПК - Тест",img,ImageItem.LAYOUT_CENTER,"");
LogoForm.append(FormImg);
}catch(java.io.IOException ex){}
//Создаем подпись
str = new StringItem("aRix", "www.mobilab.ru", Item.HYPERLINK);
LogoForm.append(str);
//подключаем ссылку
str.setDefaultCommand(CMD_GO);
str.setItemCommandListener(this);
//Добавляем подэкранные кнопки
LogoForm.addCommand(CMD_FIRST);
LogoForm.addCommand(CMD_EXIT);
//Объявляем обработчик команд
display.setCurrent(LogoForm);
//Создаем форму для вопросов, добавляем на нее кнопки и объявляем обработчик
QForm=new Form("Вопрос");
QForm.addCommand(CMD_NEXT);
QForm.addCommand(CMD_EXIT);
QForm.setCommandListener(this);
//Создаем список с вариантами вариантов.
myCG=new ChoiceGroup("Ответ",Choice.EXCLUSIVE);
myCG.append("Нет",null);
myCG.append("Иногда",null);
myCG.append("Да",null); }
private void questForm(int qnum) //Форма с вопросами
{ QForm.deleteAll(); //Очищаем форму
//Добавляем вопрос из массива
str = new StringItem("Вопрос", quest[qnum]);
QForm.append(str);
//Добавляем на форму вырианты ответов
QForm.append(myCG);
//Делаем окно формы видимым
display.setCurrent(QForm); }
public void exitApp()
{ notifyDestroyed(); } // уничтожение MIDlet-а
public void commandAction(Command c, Item item) {
if (c == CMD_GO) {
String text = "Переход по ссылке...";
Alert a = new Alert("URL", text, null, AlertType.INFO);
display.setCurrent(a); } }
public void commandAction(Command c, Displayable d) {
if (c == CMD_FIRST) { //Команда: загрузить первый экран
//Создаем форму
Form firstForm=new Form("Представьтесь пожалуйста");
//Размещаем на ней поля для ввода текста
TFName=new TextField("Ваше имя","",25,TextField.ANY);
TFAge=new TextField("Ваш возраст","",3,TextField.NUMERIC);
firstForm.append(TFName);
firstForm.append(TFAge);
//Добавляем команды
firstForm.addCommand(CMD_START);
firstForm.addCommand(CMD_EXIT);
firstForm.setCommandListener(this);
//Делаем окно формы видимым
display.setCurrent(firstForm); }
if (c == CMD_START) {//Команда о начале теста
questForm(0); }
if (c == CMD_NEXT) {//Команда перехода к следующему вопросу
cqnum=cqnum+1; //Увеличивем номер вопроса
if (cqnum==maxq-1){ //Проверяем, не последний ли это вопрос. Если да, меняем кнопку.
QForm.removeCommand(CMD_NEXT);
QForm.addCommand(CMD_FINISH); }
summ=summ+myCG.getSelectedIndex(); //Учитываем результат последнего ответа
questForm(cqnum); } //Переходим к следующему вопросу
if (c == CMD_FINISH) { //Команда о получении результата
summ=summ+myCG.getSelectedIndex(); //Учитываем результат последнего ответа
QForm.deleteAll(); //Очищаем форму
QForm.append(""+TFName.getString()+", ну что Вам сказать. ");//Выводим текст
//В зависимости от набранных очков выводим результат теста и соответствующую картинку.
if (summ<1){
QForm.append("Срочно купите себе компьютер!!!");
try{
Image img=Image.createImage("/1.png");
ImageItem FormImg=new
ImageItem("",img,ImageItem.LAYOUT_CENTER,"");
QForm.append(FormImg);
}catch(java.io.IOException ex){} }
else if (summ<3){
QForm.append("На вашем месте, я бы почаще включал компьютер.");
try{
Image img=Image.createImage("/2.png");
ImageItem FormImg=new
ImageItem("",img,ImageItem.LAYOUT_CENTER,"");
QForm.append(FormImg);
}catch(java.io.IOException ex){} }
else if (summ<7){
QForm.append("Вы вполне адекватный человек.");
try{
Image img=Image.createImage("/3.png");
ImageItem FormImg=new
ImageItem("",img,ImageItem.LAYOUT_CENTER,"");
QForm.append(FormImg);
}catch(java.io.IOException ex){} }
else if (summ<7){
QForm.append("Возможна мама была права, когда пыталась выкинуть Ваш компьютер.");
try{
Image img=Image.createImage("/4.png");
ImageItem FormImg=new
ImageItem("",img,ImageItem.LAYOUT_CENTER,"");
QForm.append(FormImg);
}catch(java.io.IOException ex){}
}
else
{
QForm.append("По-моему Вам давно пора лечиться (Если что, я в 7 палате).");
try{
Image img=Image.createImage("/5.png");
ImageItem FormImg=new
ImageItem("",img,ImageItem.LAYOUT_CENTER,"");
QForm.append(FormImg);
}catch(java.io.IOException ex){}
}
//Удаляем кнопку
QForm.removeCommand(CMD_FINISH);
}
if (c == CMD_EXIT){exitApp();} //Команда "Выход"
}
}
Дата добавления: 2015-10-29; просмотров: 131 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Передача данных в апплет | | | Журналистских расследованиях. |