CLDC/MIDP поддерживает системные свойства, которые являются парами «ключ-значение», представляющими информацию о платформе и среде, в которой выполняются приложения MIDP. Теоретически это тот же тип свойств, который вы найдете в J2SE. К сожалению, в CLDC/MIDP нет класса Java.util.Properties для облегчения вашей работы со свойствами. Спецификация MIDP определяет только небольшой набор стандартных свойств, которые показаны в таблице 3.4. Реализации могут поддерживать дополнительные системные свойства определенных производителей, но необязательно. Вы должны знать о том, свойства какого производителя или платформы вы используете для того, чтобы предупреждать проблемы с мобильностью. Как и приложения J2SE, приложения MIDP могут отыскивать системные свойства с помощью классаjava.lang.System. Чтобы узнать значение свойства, используйте метод класса System String getProperty(String key) Этот метод извлекает нужные значения, связанные с ключами, чьи значения указываются в запросе. Таблица 3.4. Стандартные системные свойства CLDC Ключ свойства | Описание | Значение по умолчанию | mi с г oedit ion. con figuration | Название и версия поддерживаемой конфигурации | CLDO1.0 | microedit ion. encoding | Набор знаков кодировки по умолчанию, используемый платформой | IS08859-1 | micr oedit ion. locale | Название текущей местной среды платформы | нуль | microedition. platform | Название платформы или устройства | нуль | micr oedition. profiles | Названия всех поддерживаемых профилей | нуль |
Листинг 3.2 иллюстрирует отслеживание системных свойств в MID-лете. Код дополняет пример, указанный в листинге 3.1. Листинг 3.2. MID-леты имеют прямой доступ ко всем четырем стандартным системным свойствам, определяемым спецификацией CLDC import javax.microedition.Icdui.Display; import javax.microedition.Icdui.Displayable; import javax.microedition.Icdui.Form; import javax.microedition.midlet.MIDlet; /** Создание программы «Hello world» в J2ME MIDP. Заметьте, что класс должен быть открытым, для того чтобы программа управления приложениями устройства могла создать его экземпляр. */ public class HelloWorld extends MIDlet public void startApp() { // Создайте элемент Displayable. form = new Fo.rmC'Hello World"); // Добавьте строку в форму. String msg = "My first MIDlet!"; form.append(msg); // Это приложение просто выводит на экран одну форму, созданную выше. display = Display.getDisplay(this); display.setCurrent(form); printSystemPropertiesf) ; /** Вывести значения стандартных системных свойств С помощью вызова System.getProperty(). */ protected void printSystemProperties() String conf; String profiles; String platform; String encoding; String locale; conf = System.getProperty("microedition.configuration") ; System.out.println(conf); profiles = System.getProperty("microedition.proflies"); System.out.println(profiles); platform = System.getProperty("microedition.platform"); System.out.println(platform); encoding = System.getProperty("microedition.encoding"); System.out.println(encoding); locale = System.getProperty("microedition.locale"); System.out.println(locale); System.out.println(); } } Обратите внимание на добавление вызова к методу printSystemProperties () в конце метода startApp(). Этот метод просто извлекает и отображает стандартные данные значений пяти стандартных системных свойств MIDP. Данные, которые программа записывает в стандартные результаты, показаны здесь: CLDC-1 .0 MIDP-1.0 J2me ISO-8859-1 enJJS Четвертая строчка выходных данных просто воспроизводит набор знаков кодировки, который использует текущая реализация платформы CLDC/MIDP. Последняя строка выходных данных отражает текущую локализацию. Спецификации локализации включают две части: первая часть показывает языковые настройки, в то время как вторая часть показывает код страны. Международная организация по стандартизации (ISO) издает два стандарта, которые определяют набор приемлемых значений для языкового и странового кодов. В простом примере, показанном в листинге 3.2, я показываю только, как вы можете извлечь эти значения. В последующих главах я покажу примеры того, как вы можете использовать эти значения для практической работы с приложениями.
|