在J2ME开发中,我们经常须要和手机系统执行 交互,获得一些和系统有关的信息,在J2ME API设计中,提供了一系列的系统属*,可以让我们来执行 获得,下面就一一执行 介绍。
表1 CLDC、MIDP和JTWI
属* 属性名称 属性作用
microedition.profiles 代表手机支持的MIDP版本,返回格式值为“MIDP-1.0”或“MIDP-2.0”
microedition.configuration 代表手机支持的CLDC版本,返回格式值为“CLDC-1.0”或“CLDC-2.0”
microedition.locale 代表手机所在的国家或地区,返回值格式为“en-US” microedition.platform 代表手机的品牌和型号,Nokia手机的返回值格式为“Nokia6310i/4.42”
microedition.encoding 代表手机默认的字符集名称,返回值格式为“ISO-8859-1” microedition.commports 代表手机可以运用的串口列表,返回值中各个串口之间运用逗号分隔
microedition.hostname MIDP2.0定义,代表本地主机名称,须要手机支持。 microedition.jtwi.version 代表手机支持的JTWI版本,值必须是“1.0”
表2 可选包
属* 属性名称 属性作用
microedition.media.version 代表手机支持的MMAPI版本,如果不支持则返回null microedition.pim.version 代表手机支持的PIM API版本,如果不支持则返回null microedition.m3g.version 代表手机支持的M3G API版本,如果不支持则返回null microedition.location.version 代表手机支持的Location API版本,如果不支持则返回null
Bluetooth.api.version 代表手机支持的BT API版本,如果不支持则返回null microedition.io.file. FileConnection.version 代表手机支持的FC API版本,如果不支持则返回null
microedition.global.version 代表手机支持的Mobile Internationalization API(JSR-238)版本,如果不支持则返回null
microedition.chapi.version 代表手机支持的CH(Content Handler) API(JSR211)版本,如果不支持则返回null
microedition.sip.version 代表手机支持的SIP API版本,如果不支持则返回null
表3 MMAPI
属* 属性名称 属性作用
supports.mixing
代表手机能不能支持混音(同时播放多个Player),返回值为“true”或“false” supports.audio.capture 代表手机能不能支持声音捕获(录音),返回值为“true”或“false”
代表手机能不能支持混音(同时播放多个Player),返回值为“true”或“false” supports.audio.capture 代表手机能不能支持声音捕获(录音),返回值为“true”或“false”
supports.video.capture 代表手机能不能支持视频捕获(录像),返回值为“true”或“false”
supports.recording 代表手机能不能支持记录(record),返回值为“true”或“false” audio.encodings 代表手机支持的声音格式,返回值格式为“encoding=audio/wav”,多个格式之间运用至少一个空格执行 间隔
video.encodings 代表手机支持的视频格式,返回值格式为“encoding=video/3gpp”,多个格式之间运用至少一个空格执行 间隔
video.snapshot.encodings 代表手机运用 getSnapshot要领获得的视频快照格式,返回值格式为“encoding=png”,多个格式之间运用至少一个空格执行 间隔 streamable.contents 代表手机支持的流媒体格式,返回null代表不支持
表4 Wireless Messaging API
属* 属性名称 属性作用
wireless.messaging.sms.smsc 代表手机发送短信时的短信服务中心号码
表5 FileConnection API
属性名称 属性作用
fileconn.dir.photos 代表手机中存储照片和其它图片的目录,例如“file:///c:/My files/ Images /”
fileconn.dir.videos 代表手机中存储视频的目录,例如“file:///c:/My files/Video clips/” fileconn.dir.tones 代表手机中存储声音的目录,例如“file:///c:/My files/Tones/” fileconn.dir.memorycard 代表手机中存储卡的根目录。例如“file:///d:/” fileconn.dir.private (Nokia S40不支持) 代表手机中MIDlet的私有工作目录,例如“file:///c:/System/MIDlets/[1015f294]/scratch”
fileconn.dir.photos.name 代表手机中图片目录的名称,例如“Images” fileconn.dir.videos.name 代表手机中视频目录的名称,例如“Video clips” fileconn.dir.tones.name 代表手机中声音目录的名称,例如“Sound clips” file.separator 代表手机中的文件分隔符,例如“/”
fileconn.dir.memorycard.name 代表手机中存储卡的名称,例如“Memory card”
运用这些属*,可以获得在程序运行流程中须要的很多和系统有关的信息,也可以运用表2中的属性来获得手机能不能支持对应的可选包等信息。
实际运用示例:
String name = System.getProperty(“microedition.platform”);
留心:如果须要获得JVM或jad文件中的信息,须要运用 MIDlet类中的getAppProperty要领,其属性名则须要查阅jad文件的设定,和本文所述的属性名无关。