J2ME最佳实践之系统适配
来源:互联网 发布:斯梅尔悖论知乎 编辑:程序博客网 时间:2024/05/22 14:18
作者:asklxf 文章来源:http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=963
获取设备支持的可选API
J2ME规范包括了许多可选包,如支持多媒体功能的MMAPI,支持消息接收和发送的WMA,支持3D游戏的M3G API。如果某一款手机支持某个可选API,MIDP应用程序就可以使用它。但是,让用户回答“本机是否支持MMAPI”是不友好的,发布几个不同版本不但增加了开发的工作量,也让用户难以选择。因此,应用程序应该自己检测手机是否支持某一API,从而在运行期决定是否可以使用此API。
MIDP 1.0和2.0应用程序都可以通过System.getProperty(String key)检测某一个属性的信息。如果该属性有效,将返回对应的字符串,否则,返回null,表示系统不支持此功能。
例如,System.getProperty("microedition.profiles")可能的返回值是"MIDP-1.0"或"MIDP-2.0"。
以下是常见的系统属性和可选API的属性,右侧列出了可能的返回值:
系统信息
microedition.platform
平台名称,如j2me
microedition.configuration
CLDC或CDC版本,如CLDC-1.0
microedition.profiles
MIDP版本,如MIDP-1.0
microedition.encoding
默认的系统编码,如GBK
microedition.locale
默认的区域设置,如zh-CN
MMAPI相关
microedition.media.version
MMAPI的版本,如1.1
supports.mixing
是否支持混音,如true
supports.audio.capture
是否支持音频捕获,如true
supports.video.capture
是否支持视频捕获,如true
supports.recording
是否支持录音,如true
audio.encodings
音频编码格式,如encoding=pcm encoding=pcm&rate=8000&bits=8&channels=1
video.snapshot.encodings
拍摄图片的编码格式,如encoding=jpeg encoding=png
streamable.contents
支持的流媒体格式,如audio/x-wav
WMA相关
wireless.messaging.sms.smsc
返回SMS的服务中心,如+8613800010000
wireless.messaging.mms.mmsc
返回MMS的服务中心,如http://mmsc.monternet.com
其他
microedition.m
返回Mobile 3D的版本,如1.0
bluetooth.api.version
返回蓝牙API的版本,如1.0
microedition.io.file.FileConnection.version
返回FileConnection的版本,如1.0
microedition.pim.version
返回PIM的版本,如1.0
例如,如果用户的手机内置了数码相机,并且支持MMAPI,我们就可以在MIDP程序中拍摄照片。因此,在应用程序启动时就应该判断是否启用拍照功能以及用户手机支持的图片编码格式:
boolean supports_take_photo = false;
boolean supports_jpeg_encoding = false;
boolean supports_png_encoding = false;
boolean supports_gif_encoding = false;
if(System.getProperty("microedition.media.version")!=null) {
if("true".equals(System.getProperty("supports.video.capture")))
supports_take_photo = true;
String all_encoding = System.getProperty("video.snapshot.encodings");
if(all_encoding!=null) {
if(all_encoding.indexOf("jpeg")!=(-1))
supports_jpeg_encoding = true;
if(all_encoding.indexOf("png")!=(-1))
supports_png_encoding = true;
if(all_encoding.indexOf("gif")!=(-1))
supports_gif_encoding = true;
}
}
}
- J2ME最佳实践之系统适配
- J2ME最佳实践之屏幕导航
- J2ME最佳实践之联网开发
- J2ME最佳实践之RMS操作
- J2ME编程最佳实践之联网开发
- J2ME编程最佳实践之联网开发
- J2ME编程最佳实践之屏幕导航
- J2ME编程最佳实践之屏幕导航
- J2ME最佳实践之联网开发
- J2ME编程最佳实践之屏幕导航
- J2ME最佳实践 - 1
- J2ME最佳实践 - 2
- J2ME最佳实践 - 3
- J2ME最佳实践 - 4
- J2ME最佳实践 - 5
- J2ME最佳实践概述
- j2me联网最佳实践
- j2me联网最佳实践
- 使用Timer和TimerTask实现欢迎界面
- 查找表字段的类型
- 使用低级界面实现简单的数字输入
- HR声音:应届毕业生,我对你“非常不满”
- J2ME最佳实践概述
- J2ME最佳实践之系统适配
- J2ME最佳实践之屏幕导航
- SQL*PLUS命令的使用大全
- 网站想更换域名,请教有经验的朋友,如何实现流量和搜索引擎上的平滑过度?
- J2ME最佳实践之联网开发
- 关于Java栈与堆的思考
- J2ME最佳实践之RMS操作
- 树型结构数据的客户部门SQL显示语句(纯sql语句)
- access與sql數據庫的邊接