Программирование мобильных телефонов на Java


Программирование мобильных телефонов

  • Введение
  • Глава 1. Устройство мобильных телефонов
  • Глава 2. Платформа Java 2 Micro Edition
  • Глава 3. Средства разработки мобильных приложений
  • Глава 4. Телефонные эмуляторы
  • Глава 5. Механизм работы приложений Java 2 ME
  • Глава 6. Классы пользовательского интерфейса
  • Глава 7. Программирование графики
  • Глава 8. Техника создания игр
  • Глава 9. Мобильная мультимедиа-библиотека
  • Заключение
  • Приложение 1. Основы языка Java
  • Приложение 2. Справочник по Java 2 Micro Edition

     

    Программирование на Java

  • Введение
  • Глава 1. Встроенные типы данных, операции над ними
  • Глава 2. Объектно-ориентированное программирование в Java
  • Глава 3. Пакеты и интерфейсы
  • Глава 4. Классы-оболочки
  • Глава 5. Работа со строками
  • Глава 6. Классы-коллекции
  • Глава 7. Классы-утилиты
  • Глава 8. Принципы построения графического интерфейса
  • Глава 9. Графические примитивы
  • Глава 10. Основные компоненты
  • Глава 11. Размещение компонентов
  • Глава 12. Обработка событий
  • Глава 13. Создание меню
  • Глава 14. Апплеты
  • Глава 15. Изображения и звук
  • Глава 16. Обработка исключительных ситуаций
  • Глава 17. Подпроцессы
  • Глава 18. Потоки ввода/вывода
  • Глава 19. Сетевые средства Java
  • Приложение. Развитие Java

  • 

    3fb01dc2


     

     

    6.2.2. Класс DateField



    Это, пожалуй, самый простой класс из всех имеющихся в иерархии класса Item. С помощью класса DateField возможно произвести установку необходимой даты и времени. Используемый интерфейс для отображения даты и времени элементарный и практически все действия по установке заданных параметров даты и времени уже реализованы программно. На рис. 6.4 изображен эмулятор телефона, отображающий текущее время.

    В составе класса DateField имеется в наличии два конструктора, для создания объектов этого класса, рассмотрим их. Первый конструктор:

    public  DateField(String  label,   int mode);
    


    Параметры конструктора класса DateField:

    •  label - строка текста;
    •  mode — с помощью этого параметра конструктора, устанавливается, какой именно из компонентов класса DateField будет воссоздан на экране.


    Имеется возможность вывести дату с помощью значения DATE, и время, задав значение TIME. Также можно пользоваться комбинированным способом DATE_TIME для отображения обоих компонентов вместе.

    Второй конструктор содержит добавочный параметр и позволяет устанавливать время по часовому поясу.

    public  DateField(String label, int mode, TimeZone timeZone)
    


    Параметры конструктора класса DateField:

    •  label - строка текста;
    •  mode - установка заданных компонентов класса DateField;
    •  timeZone - это объект класса TimeZone, с помощью которого можно определить часовой пояс. Например:


    TimeZone v  =  TimeZone.getTimeZone("GMT");
    


    Класс DateField содержит всего четыре метода:

    •  Date getDate() - возвращает текущую дату;
    •  void setDate(Date date) - устанавливает новую дату;
    •  int get!nputMode() - получает установленные компоненты DATE, TIME или DATA_TIME;
    •  void setlnputMode (int mode) - устанавливает компоненты DATE, TIME или DATE_TIME.



    Рис 6.4. Текущее время на экране телефона


    Перейдем к программному коду и рассмотрим пример, реализующий вывод на экран даты и времени одновременно. Все, что сейчас от нас требуется — это написание кода основного класса мидлета, создание пустой формы и встраивание в эту форму класса DateField. Также необходимо проследить наличие команды выхода из приложения. Все остальное за нас сделает Jауа 2 ME, создав кнопки перехода и команду сохранения настроек даты и времени. В листинге 6.2 дается полный код примера к этому разделу.

    /**
    
    Листинг 6.2 Класс DateField .
    
    */
    
    import javax.microedition.midlet.*;
    
     import javax.microedition.Icdui.*;
    
    public  class     MainClassDateField extends MIDlet   implements
    
    CoramandListener
    
    {
    
    // команда выхода из приложения
    
    private Command exitMidlet = new Command(«Выход»,
    Command.EXIT, 0);
    
    // объект класса DateField
    
    private DateField dt;
    
    // объект класса Form
    
    private Form myform;.
    
    // объект mydisplay представляет экран телефона
    
    private Display mydisplay;
    
    public MainClassDateField()
    
    {
    
    mydisplay = Display.getDisplay(this);
    
    }
    
    public void startApp()
    
    {
    
    //инициализируем объект dt
    
    dt = new DateField("Дата и Время", DateField.DATE_TIME);
    
    // создаем форму при помощи объекта Form
    
    myform = new Form("Встроенный DateField");
    
    // добавить объект dt
    
    myform,append(dt);
    
    myform.addCommand(exitMidlet);
    
    myform.setCommandListener(this);
    
    // отразить текущий дисплей
    
    mydisplay.setCurrent(myform);
    
    }
    
    public void pauseApp() {}
    
    public void destroyApp(boolean unconditional) {}
    
    public void commandAction(Command c, Displayable d)
    
    {
    
    // выход из приложения
    
    if(с = = exitMidlet)     
    
    {
    
    destroyApp(false) ,
    
    notifyDestroyed();
    
     }
    
    }
    
     }
    
     }
    


    В примере создан класс MainClassDateField, соответствующий названию разбираемого класса. Сам по себе пример очень легкий в силу простоты реализации самого класса DateField. Первоначально создается объект dt для класса DateField, после этого происходит его инициализация в методе startАрр (). Создается форма классом Form и объект dt интегрируется в эту форму. Все остальное, а именно: циферблат и календарь, показанные на рис. 6.4, создаются автоматически с помощью эмулятора телефона при выборе одного из элементов класса. В нашем примере был создан объект dt класса DateField, но можно было этого и не делать, а обойтись, например такой простой записью:

    Form f = new.Form(new DateField("Дата и Время", DateField.DATE_TIME);
    


    Такая запись используется иногда в профессиональных программах, где это действительно очевидно и не затруднит чтения и понимания всей программы в целом.

    После того, как вы откомпилируете этот пример и запустите приложение, на экране появятся два элемента с надписями time и date. Выбрав один из элементов и нажав на кнопку Select, вы попадете, в зависимости от выбора, на экран с календарем или временем, изображенным на рис. 6.4. С помощью джойстика или клавиш перемещения, можно установить необходимые параметры для обоих элементов.

     
    -
    



    Copyright © vzlom-1.ru 2020-2021