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.m3g.version
|
返回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; } } } 在JSR规范里面 J2ME 是可以通过 System.getProperty(String key) 得到一些你想要的东东。 J2ME Defined System Properties [/tr]
JSR |
Property Name |
Default Value¹ |
30 |
microedition.platform |
null |
|
microedition.encoding |
ISO8859_1 |
|
microedition.configuration |
CLDC-1.0 |
|
microedition.profiles |
null |
37 |
microedition.locale |
null |
|
microedition.profiles |
MIDP-1.0 |
75 |
microedition.io.file.FileConnection.version |
1.0 |
|
file.separator |
(impl-dep) |
|
microedition.pim.version |
1.0 |
118 |
microedition.locale |
null |
|
microedition.profiles |
MIDP-2.0 |
|
microedition.commports |
(impl-dep) |
|
microedition.hostname |
(impl-dep) |
120 |
wireless.messaging.sms.smsc |
(impl-dep) |
139 |
microedition.platform |
(impl-dep) |
|
microedition.encoding |
ISO8859-1 |
|
microedition.configuration |
CLDC-1.1 |
|
microedition.profiles |
(impl-dep) |
177 |
microedition.smartcardslots |
(impl-dep) |
179 |
microedition.location.version |
1.0 |
180 |
microedition.sip.version |
1.0 |
184 |
microedition.m3g.version |
1.0 |
185 |
microedition.jtwi.version |
1.0 |
195 |
microedition.locale |
(impl-dep) |
|
microedition.profiles |
IMP-1.0 |
205 |
wireless.messaging.sms.smsc |
(impl-dep) |
205 |
wireless.messaging.mms.mmsc |
(impl-dep) |
211 |
CHAPI-Version |
1.0 |
¹(impl-dep) indicates that the default value is implementation-dependent.
我用Nokia 6303C 移动动感地带的环境下 测试过 wireless.messaging.sms.smsc 得到的是 13800100500 这个是北京的sim卡短信息中心号码 wireless.messaging.mms.mmsc 得到的是 http://mmsc.monternet.com 这个是彩信的东东 microedition.locale 得到的是zh-CN 其他的各位童鞋们 自己测试下吧
|
分享到:
相关推荐
通过理解和掌握J2ME API,开发者可以有效地开发出运行在各种移动设备上的应用程序,如游戏、工具应用、信息服务等。尽管现代移动开发更多地转向了Android和iOS平台,但J2ME的历史地位和对于一些旧设备的支持仍然使其...
J2ME 文件系统开发实例通常涉及到如何在有限的资源和内存条件下,有效地进行文件的创建、读取、写入和管理。下面我们将深入探讨这个主题。 首先,J2ME 并不直接提供标准的 Java I/O 类库,如 `java.io.File`,因此...
通过深入阅读这个文档,开发者可以掌握J2ME API的用法,从而有效地编写J2ME应用。 总的来说,J2ME API是开发小型设备应用的关键工具,它的设计考虑了资源限制和可移植性。理解并熟练运用J2ME API,开发者可以构建出...
本教程将深入探讨J2ME文件系统,包括其工作原理、API使用以及如何在手机上读取文件和递归遍历存储器目录。 1. **J2ME文件系统基础** J2ME文件系统并不像Java Standard Edition (Java SE) 中的java.io.File那样提供...
### J2ME API知识点概述 #### 一、基础概念 **J2ME(Java 2 Micro Edition)** 是Sun Microsystems为嵌入式设备和移动设备提供的Java平台版本。...通过合理使用这些API,可以有效地开发出高效、稳定的应用程序。
这个API使得开发者能够在J2ME应用程序中轻松地集成GPS(全球定位系统)和其他位置感知技术,例如AGPS(辅助全球定位系统)或者网络定位。 **核心概念与功能** 1. **LocationProvider**: 这是JSR-179的核心接口,它...
总的来说,J2ME流媒体技术的实现涉及了对Media Player API的深入理解和有效利用,以及对各种媒体格式和传输协议的支持。通过不断实践和优化,开发者可以在有限的资源条件下,为移动用户提供流畅的多媒体体验。
在IT行业中,J2ME(Java 2 Micro Edition)是一种用于开发移动设备和嵌入式系统的Java平台。它提供了一套精简的Java API,...开发者需要熟悉J2ME的HttpConnection API,以及ASP的脚本编程,才能有效地实施这种连接。
### 使用J2ME构建股票系统的关键知识点 #### J2ME平台概述 J2ME(Java 2 Platform, Micro Edition)是Sun Microsystems推出的一种专为资源受限的设备(如手机、PDA和其他小型嵌入式系统)设计的Java平台。它包括了...
- J2ME提供了一个名为Location API的接口,用于获取设备的地理坐标信息。这个API是JSR 179(Location and Context Awareness API)的一部分,允许开发者在移动设备上实现定位服务。 - Location API允许开发者获取...
Java 2 Micro Edition (J2ME) 是Java平台的一个子集,主要用于嵌入式系统和移动设备,如智能手机、智能电视和各种物联网设备。J2ME提供了一个轻量级的环境,使开发者能够在有限的硬件资源上运行应用程序。 **J2ME...
3. **3D 图形库**:由于 J2ME 标准本身并不直接支持 3D 图形,开发者通常需要依赖第三方库,如 j3dcore-ogl 封装了JOGL(Java OpenGL),或者使用轻量级库如 j3d.org 提供的 Java 3D API。这些库使得开发者可以通过...
在J2ME中,RMS(Record Management System)是一个小型的数据库管理系统,专门设计用于在资源有限的设备如手机上进行数据存储和持久化。RMS提供了简单且高效的数据管理方式,适用于那些无法使用全功能数据库系统的...
在开发视频播放系统时,我们需要利用MIDP提供的API来构建用户界面和实现数据交互。 3. **CLDC(Connected Limited Device Configuration)**:它是J2ME的基础配置,规定了设备必须支持的Java运行时环境。CLDC提供了...
注意有效地管理这些资源,避免内存泄漏和文件系统冲突。 综上所述,实现J2ME视频播放涉及对JMF的深入理解,以及对设备特性和性能的考虑。通过编写高效且健壮的代码,可以克服J2ME的限制,为用户提供流畅的视频体验...
Java Micro Edition(J2ME)是Java平台的一个子集,主要设计用于移动设备、嵌入式系统和其他资源有限的计算设备。"郭克华J2ME视频教学源代码"是一套与郭克华的J2ME视频教程配套的源代码集合,旨在帮助学习者深入理解...
- **J2ME**:专注于移动设备和嵌入式系统的开发,提供了轻量级的API集合。 #### 3 开发J2ME应用程序 ##### 3.1 介绍 开发J2ME应用程序需要考虑以下几点: - **设计小型设备应用程序**:需要注意屏幕尺寸小、内存...
对于初学者,深入研究源码是提高J2ME开发技能的有效途径。 总之,J2ME网络回拨电话源码涵盖了移动开发的多个重要方面,包括UI设计、网络编程、数据存储和通信协议的实现。通过学习和分析这段代码,开发者不仅可以...