Что может узнать мидлет?
Появление данной статьи обязано форуму Juga.ru – Java в мобильнике и его участникам. СooperFeet - как отвечающему на вопросы, z0rr0 и poma как задающими вопросы. Статья представляет обзор методов различных классов MIDP 1.0 и CLDC 1.0, которые позволяют получить мидлету различную информацию о устройстве на котором запущен мидлет, о виртуальной машине, и некоторых других параметрах и возможностях системного окружения.
javax.microedition.midlet.MIDlet
- public final java.lang.String getAppProperty (java.lang.String key) – позволяет получить свойства из jad или из manifest.mf файла. Если свойства в jad файле имеют те же имена, что и manifest.mf файле, значения свойств будут браться из jad файла (MIDP 1.0).
java.lang.System
- public static long currentTimeMillis() – возвращает
текущее время в миллисекундах, отсчитываемое с 1 января 1970 года.
- public static java.lang.String getProperty (java.lang.String key) – возвращает системные свойства. Ниже представлены свойства определенные в MIDP 1.0:
- microedition.configuration – содержит название и версию поддерживаемой устройством конфигурации, например "CLDC-1.0".
- microedition.profiles – содержит названия набора профилей поддерживаемых устройством, например "MIDP-1.0".
- microedition.platform – содержит название платформы. Например, телефон Siemens SL45i возвращает значение "SL45i", телефон Nokia 3410 возвращает значение "Nokia3410". Телефоны некоторых других производителей возвращают значение "j2me".
- microedition.locale – содержит название текущей местной среды установленной на устройстве, например "ru-RU".
- microedition.encoding – содержит название кодировки по умолчанию используемой платформой, например "ISO8859-1".
- public static java.lang.String getProperty (java.lang.String key) – возвращает системные свойства. Ниже представлены свойства определенные в MIDP 1.0:
java.lang.Runtime
- public long freeMemory() – возвращает количество
свободной памяти в системе.
- public long totalMemory() – возвращает общее количество памяти доступное в JVM.
javax.microedition.lcdui.Display
- public boolean isColor() – возвращает true, если
телефон поддерживает цвета, иначе false.
- public int numColors() – возвращает количество предоставляемых цветов или поддерживаемое количество градаций серого цвета для черно-белых устройств.
javax.microedition.lcdui.Canvas
- public int getHieght – возвращает высоту экрана в
пикселях.
- public int getWidth() – возвращает ширину экрана в пикселях.
- public boolean isDoubleBuffered() – возвращает true, если поддерживается двойная буфферизация.
- public boolean hasRepeatEvents() – возвращает true, если устройство генерирует сообщения о повторном нажатии клавиш. То есть, если метод вернул true, это означает, что если пользователь нажмет, и будет удерживать клавишу, будут генерироваться сообщения о нажатии, и метод keyRepeated будет вызываться.
- public boolean hasPointerEvents() – возвращает true, если устройство поддерживает pointer press and release events.
- public boolean hasPointerMotionEvents() – возвращает true, если устройство поддерживает pointer motion events.
- public int getWidth() – возвращает ширину экрана в пикселях.
javax.microedition.lcdui.Font
- public static javax.microedition.lcdui.Font getDefaultFont() – возвращает текущий шрифт.
javax.microedition.rms.RecordStore
- public static java.lang.String[] listRecordStores() –
возвращает список всех хранилищ записей (RecordStore), доступных набору
мидлетов.
- public int getSizeAvailable() – возвращает число оставшихся байтов, на которое хранилище записей может вырасти.
- public int getSize() – возвращает количество байт, которое занимает хранилище записей (RecordStore).
- public int getNumRecords() – возвращает количество записей в хранилище.
- public int getSizeAvailable() – возвращает число оставшихся байтов, на которое хранилище записей может вырасти.
javax.microedition.io.Connector
- public static javax.microedition.io.Connection open (java.lang.String name) throws IOException – чтобы определить поддерживает ли устройство данный сетевой протокол, существует только один стандартный способ определить это. Метод open будет генерировать ConnectionNotFoundException, в том случае если данный протокол не поддерживается. (Протокол указывается в универсальном идентификаторе ресурса URI, который передается в метод open).