这是很久前另一个BLOG上的,现在不用了。转过来吧,方便查看...
也许熟悉Class类的朋友早就知道如何使用了,这里我只是做了一下总结,帮助有需要的朋友。
一开始这个问题是群里的一个朋友提出来的,我也不会,搜了很久才摸透了,下面就来说说,也当作资料备份(^-^)。
理论基础:
每个类都有一个相应的java.lang.Class对象。每个类的Class对象存储于编译后的类所在的文件中。所以,当JVM装载一个.class文件时就会装载一个Class对象。
思路:
判定是否支持特定API,只要检测API中(所包含的特定的)类的Class对象是否存在。
步骤:
1.获得类的Class对象。
2.判断Class对象是否存在。
1.获得类的Class对象
这有3个途径可以获得,分别是:
1)Object.getClass();
2)classname.class(如javax.microedition.lcdui.Canvas.class);
3)Class.forName(classname)(如Class.forName(java.lang.String));
我们的目的是判断是否支持特定的API,显然不可能事先得到对象实例,第1个方法不能用。第2和第3个方法都是可行的。
2.判断Class对象是否存在
对于第2种方法,判断获得的Class是否为null;
对于第3中方法,如果不存在会抛出ClassNotFoundException。
一个判断是否支持NOKIA API的例子:
方法2:
... ...
if(com.nokia.mid.ui.FullCanvas
.class
!=null ? true : false)
System.out.println("支持");
else
System.out.println("不支持");
... ...
方法3:
public static boolean test(String classname) {
try {
Class.forName(classname.trim());
return true;
} catch (ClassNotFoundException e) {
return false;
}
}
... ...
if(test("com.nokia.mid.ui.FullCanvas
"))
System.out.println("支持");
else
System.out.println("不支持");
... ...
这里再附上两个相关的连接,可供参考:
测试手机支持哪些J2ME类:
http://www.myspaces.cn/userhly/archive/2008/09/11/28790.aspx
手机支持的java协议检测工具:
http://mobile.72pines.com/2008/07/28/%E6%89%8B%E6%9C%BA%E6%94%AF%E6%8C%81%E7%9A%84java%E5%8D%8F%E8%AE%AE%E6%A3%80%E6%B5%8B%E5%B7%A5%E5%85%B7/
分享到:
相关推荐
通过上述介绍可以看出,J2ME提供了丰富的API来支持移动设备上的应用开发,特别是针对UI展示、命令处理、多媒体支持等方面的功能。对于希望利用Java进行手机程序和游戏开发的开发者来说,掌握这些API是非常重要的。...
1. **环境设置**:首先,开发者需要在J2ME平台上配置支持JSR184的开发环境,这可能包括安装特定的库和工具。 2. **模型创建**:使用API创建或导入3D模型,并进行必要的纹理映射和光照设置。 3. **场景构建**:将3D...
**J2ME手机开发技术API**是针对Java Micro Edition(J2ME)平台的应用程序开发进行详细阐述的技术参考资料。J2ME是一种轻量级的Java平台,主要用于开发在小型电子设备上运行的应用程序,如早期的移动电话、PDA、智能...
本测试项目“j2me手机jsr支持测试”旨在帮助开发者或用户了解特定手机型号对不同JSR规范的兼容性情况。通过这个工具,可以快速检测手机是否支持常用的JSR,如JSR-118、JSR-135、JSR-75(PIM,个人信息管理)、JSR-...
在J2ME中,地图通常以二维数组或网格的形式表示,每个单元格代表地图上的一个特定区域,可以是空地、建筑物、敌人位置等。通过这种方式,开发者能够轻松地实现角色移动、碰撞检测等功能。 地图绘制则涉及到图形渲染...
开发者需要了解目标设备的限制,并使用`FeatureDescriptor`检查设备是否支持特定功能。 **八、优化和性能** 在资源受限的环境中,优化媒体处理至关重要。这可能包括减少内存使用、降低处理器负载和优化数据流。...
除了这些基础属性,J2ME还提供了可选包的属性,以确定设备对特定API的支持程度,例如: - `microedition.media.version`:用于查询MMAPI(Multimedia Application Programming Interface)版本,用于多媒体处理。 -...
虽然标签中没有明确提及,但J2ME游戏还可以支持网络功能,如在线排行榜、多人竞技等。通过MIDP的JSR-118(MIDP 2.0)提供的网络API,开发者可以实现数据的上传和下载,为玩家提供更具竞争性和社交性的游戏体验。 **...
在J2ME平台上开发游戏,开发者需要熟悉Java语言基础以及J2ME提供的特定API。 【描述】中提到的"博文链接:https://smq-java.iteye.com/blog/418968"可能是一个详细的教程或博客文章,提供了关于如何构建J2ME版...
游戏的核心部分是五子棋的逻辑实现,包括检查每一步是否合法,检测是否有五子连珠,以及处理回合切换。这涉及到对二维数组的遍历,检查每个棋子周围的位置,以判断是否存在五子连线。 4. **人工智能算法** 在J2ME...
在J2ME游戏中,开发者可能会使用特定的游戏引擎或框架,如Mogre、JGame或Polystrip,这些工具简化了游戏逻辑、渲染和碰撞检测等复杂任务。 **图形和动画** J2ME提供了低级别的图形API,如Graphics类,用于绘制2D...
《赛车游戏 J2ME源码程序》是一款基于Java 2 Micro Edition (J2ME)平台开发的移动设备上的赛车游戏。J2ME是Java的一种轻量级应用框架,主要用于开发移动设备、嵌入式系统等资源有限的环境中的应用程序。这款赛车游戏...
1. **MIDP(Mobile Information Device Profile)**:这是J2ME的核心部分,定义了移动设备上的应用程序接口,包括用户界面组件、网络连接、数据存储等。 2. **CLDC(Connected Limited Device Configuration)**:...
总的来说,J2ME低级API与事件处理是移动应用开发的基础,它们使得开发者能够在各种不同规格的设备上创建功能丰富的、用户友好的应用程序。通过研究和实践这些示例代码,开发者能够提升对J2ME平台的理解,增强在有限...
了解并熟练掌握J2ME MIDP API对于开发移动应用程序至关重要,这不仅包括理解各个类和接口的功能,还需要熟悉如何在有限的资源环境下优化代码,以确保应用能在各种移动设备上高效运行。通过阅读和实践这个HTML版的...
2. **MIDP API**:这是J2ME游戏开发的主要API,提供了用户界面组件、网络连接和数据存储等基础功能。特别是Canvas类,它是创建游戏画面的基础,允许开发者自定义绘图。 3. **图形与动画**:J2ME使用低级别的...
KVM(K Virtual Machine),是J2ME的虚拟机,以及一套特定的配置和Profile,如MIDP(Mobile Information Device Profile)和CLDC(Connected Limited Device Configuration),它们定义了设备上的API集。 “j2me-...
- 胜利检测:通过遍历所有可能的连线方向,检查是否有五子连珠。 - AI算法:对于单机挑战版,可能采用简单的Minimax算法或Alpha-Beta剪枝,以实现AI对手的智能决策。 3. **游戏版本解析** - **单机挑战版**:...
3. **代码编辑器增强**:提供J2ME特定的代码补全、语法高亮和错误检查。 4. **WTK(Wireless Toolkit)集成**:与Sun Microsystems的Java Wireless Toolkit或Nokia的J2ME SDK等开发工具包无缝集成。 5. **部署和打包...
这本书可能会涵盖2D游戏设计原则,如精灵动画、碰撞检测、游戏循环和用户输入处理,同时也可能讲解如何利用MIDP2的特定功能来提升游戏性能和用户体验。 4. **calf1.01a.pdf** 这个文件名看起来不太符合常规书籍的...